Hallo Aphton,
das OnCreate-Ereignis gibt es doch eigentlich nur bei den
VCL-Komponenten, wenn sie per Ressource ihre Parameter zugewiesen bekommen. In eigenen Objekten/Klasses/WasAuchImmer müsste das OnCreate-Ereignis definitiv per Parameter an den Konsturktor übergeben werden. Alles andere finde ich nicht logisch. Und nach dem Konstruktor wird dann sofort die AfterConstruction-Methode aufgerufen. Also bleibt wirklich kein Platz mehr, irgendwo noch eine Zuweisung machen zu können.
Hier nochmal, wie das bei TForm geht:
Delphi-Quellcode:
{ TCustomForm }
constructor TCustomForm.Create(AOwner: TComponent);
begin
GlobalNameSpace.BeginWrite;
try
CreateNew(AOwner);
if (ClassType <> TForm) and not (csDesigning in ComponentState) then
begin
Include(FFormState, fsCreating);
try
if not InitInheritedComponent(Self, TForm) then
raise EResNotFound.CreateFmt(SResNotFound, [ClassName]);
finally
Exclude(FFormState, fsCreating);
end;
if OldCreateOrder then DoCreate; // DoCreate ruft OnCreate auf und setzt danach Visible auf WAHR
end;
finally
GlobalNameSpace.EndWrite;
end;
end;
Bernhard