hey,
ich habe in meinem mainform mehrere (unbekannt wieviele genau) komponenten die alle von der selben basisklasse abgeleitet sind. ich würde gerne beim oncreate des mainforms in jeder komponente eine prozedur auslösen. geht das auch irgendiwe eleganter (besser) als so?
Delphi-Quellcode:
procedure TKomponente.Initialize(Sender: TObject);
var I: integer;
begin
FInitialized := true;
if (Sender <> nil) then
for i := 0 to TComponent(Sender).ComponentCount do
if TComponent(Sender).Component[i].InheritsFrom(TKomponentenBasisklasse) and
not (TKomponentenBasisklasse(TComponent(Sender).Components[i])).Initialized
then (TKomponentenBasisklasse(TComponent(Sender).Components[i])).Initialize(Sender);
end;
wenn eine Instanz der Komponente erzeugt wird wird dieses Initialize dem OnCreate der mainform zugeordnet, aber dass wird halt bei jeder weiteren Komponente überschrieben, daher dieses konstrukt.
viele grüße