Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Wie funktioniert der OnCreate-Eventhandler

  Alt 5. Jul 2009, 13:54
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat