Thread View: pl.comp.lang.delphi
2 messages
2 total messages
Started by J-23
Mon, 09 Apr 2018 17:23
Rozszerzenie typu
Author: J-23
Date: Mon, 09 Apr 2018 17:23
Date: Mon, 09 Apr 2018 17:23
30 lines
1851 bytes
1851 bytes
Witam
Mam sobie komponent który posiada własność
property ProjectDialogAction: TProjectDialogAction
read FProjectDialogAction write SetProjectDialogAction;
którego to definicja typu wygląda w ten sposob:
type
TProjectDialogAction = (pdaCreate, pdaEdit, pdaRemove);
nastepnie chce zbudować komponent dziedziczący po tym właśnie co zawiera
powyższą własność i chce by w komponencie tym dziedziczącym z powyższego
znajodwała się analogiczna własnosc tylko z rozszerzonym o jeden element
typerm
type
TProjectDialogAction = (pdaCreate, pdaEdit, pdaRemove, pdaFile);
i teraz pytanie czy idzie to jakoś ładnie oprogramować w sensie takim
bym w tym ostatecznym komponencie nie musiał zakładać nowego typu tylko
go rozszerzyć?
W sumie to jest troche taka fanaberia bo zawsze można napisać prosty
wrapper i to osiągniąć ale czy jest na to inna metoda?
Oczywiście pytam w konteksice Lazarus :)
Pozdrawiam
J-23
Re: Rozszerzenie typu
Author: Krzysztof Szyszka
Date: Mon, 09 Apr 2018 18:48
Date: Mon, 09 Apr 2018 18:48
33 lines
2400 bytes
2400 bytes
> Mam sobie komponent który posiada własność > > property ProjectDialogAction: TProjectDialogAction > read FProjectDialogAction write SetProjectDialogAction; > > którego to definicja typu wygląda w ten sposob: > > type > TProjectDialogAction = (pdaCreate, pdaEdit, pdaRemove); > > nastepnie chce zbudować komponent dziedziczący po tym właśnie co zawiera powyższą własność i chce > by w komponencie tym dziedziczącym z powyższego znajodwała się analogiczna własnosc tylko z > rozszerzonym o jeden element typerm > > type > TProjectDialogAction = (pdaCreate, pdaEdit, pdaRemove, pdaFile); > > i teraz pytanie czy idzie to jakoś ładnie oprogramować w sensie takim bym w tym ostatecznym > komponencie nie musiał zakładać nowego typu tylko go rozszerzyć? Typu wyliczeniowego nie da się rozszerzyć, ale można go przesłonić w drugim module i to samo dotyczy property ProjectDialogAction. Podstawowe pytanie jakie należy sobie zadać, to z jakiego poziomu potrzebujesz dostęp do tego rozszerzonego typu i property. Jeśli tylko z tego nowego modułu (lub innych które mają go podane w uses) to rób śmiało, ale moduły które mają w uses tylko moduł podstawowy nie będą widzieć property w rozszerzonej wersji. -- pozdrowienia Krzysztof Szyszka, X-Files Software Developer of X-DBGrid Component Embarcadero Technology Partner http://www.x-files.pl/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads