(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
AW: Eigene Komponenten ruft über Designer kein Create auf
2. Aug 2010, 16:55
Der Grund das dein Constructor nicht aufgerufen ist recht einfach:
Du leitest von TComponent (oder einem Nachfahren) ab so wie es sich auch gehört für Komponenten die man später im Designer platzieren will. So weit hast du richtig gehandelt.
Jetzt aber zu deinem Fehler. Delphi kann keine Gedanken lesen und weiß entsprechend nicht welche Parameter bei welchem Konstructor notwendig sind.
Baut sich zum Beispiel jemand ein Create das wie folgt aussieht:
constructor Create(MeinTollerTyp: TSuperTyp);
so weiß Delphi natürlich nicht was es dort übergeben soll. Entsprechend werden alle Komponenten mit dem Constructor von TComponent erstellt. Damit ein eigener Konstructor also aufgerufen wird musst du den von TComponent überschreiben:
falsch:
constructor Create;
richtig:
constructor Create(AOwner: TComponent); override;
gleiches gilt übrigens auf den destructor.
Am besten du schaust dir mal ein Tutorial zur Vererbung etc. an
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|