![]() |
Eigene Komponente: property mit verschiedenen Typen
Ich habe soeben mit der Komponenten Entwicklung angefangen. Das funktioniert ja auch schon ganz gut, doch wie kann ich ein property hinzufügen, welches z.B strings, integers und ein paar booleans beinhaltet?
Delphi-Quellcode:
type
TMeinKomponent = class(TComponent) private fFilename:string; fReady:boolean; protected public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property Filename:string read fFilename; property Ready:boolean read fReady; end; |
Re: Eigene Komponente: property mit verschiedenen Typen
Verwende Subclassing.
|
Re: Eigene Komponente: property mit verschiedenen Typen
sähe das dann etwa so aus?
Delphi-Quellcode:
type
TMeinProperty= class private fA:string; fB:boolean; fC:integer protected public published property A: string read fA write fA; property B: boolean read fB write fB; property C: integer read fC write fC; end; type TMeinKomponent = class(TComponent) private fFilename:string; fReady:boolean; fSpezial:TMeinProperty protected public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property Filename:string read fFilename; property Ready:boolean read fReady; property Spezial:TMeinProperty read fSpezial write fSpezial; end; |
Re: Eigene Komponente: property mit verschiedenen Typen
fast.. du musst von TPersistant ableiten
und natürlich: im Constructor initiieren und im Destructor freigeben |
Re: Eigene Komponente: property mit verschiedenen Typen
was meinst du genau mit initieren und frei geben?
|
Re: Eigene Komponente: property mit verschiedenen Typen
Im Constructor von TMeinKomponent ein:
Delphi-Quellcode:
und im Destructor die Ressourcen freigeben:
fSpezial := TMeinProperty.Create;
Delphi-Quellcode:
FreeAndNil(fSpezial);
|
Re: Eigene Komponente: property mit verschiedenen Typen
und was muss ich bei meiner propertyclass bei create einfügen?
|
Re: Eigene Komponente: property mit verschiedenen Typen
Müssen musst du nix... die Defaultwerte wären gut, aber sonst ist dir da freie hand gelassen. Ist im Grunde ja nur ein Konstrukt um Properties zu verschachteln.
|
Re: Eigene Komponente: property mit verschiedenen Typen
Im Constructor solltest Du noch angeben:
fSpezial := TMeinProperty.Create; fSpezial.SetSubComponent(True); // !!! damit die IDE Deine Einstellungen aus dem Objektinspektor auch dauerhaft speichert... Stahli |
Re: Eigene Komponente: property mit verschiedenen Typen
Danke!!! Jetzt funktioniert entlich alles!!! :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz