Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
4. Jan 2006
Jede Klasse hat einen Konstruktor und auch einen Destruktor. Und sei es er erbt ihn von TObject.
Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
4. Jan 2006
Wer war denn dein Delphi-Lehrer? Denn normalerweise kommt man auf sochen "Unsinn" nicht von alleine.
Ein Konstruktor kann nicht als Methodenzeiger verwendet werden. Und soeinen brauchst du für das OnClick. Du musst also eine TNotifyEvent kompatible Methode zu deiner Klasse hinzufügen und diese dann dem OnClick-Ereignis zuweisen.
Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
4. Jan 2006
Nein, denn dein "Erzeuge" gehört noch zum Initialisieren des Objekts. TOpenDialog.Execute setzt bereits eine vollständig initialisiertes TOpenDialog Instanz voraus.
Jeder versteht deinen Code besser.
Du kannst die Vererbung nutzen.
Du musst dir nicht bei jedem Objekt überlegen, ob da noch ein "Erzeuge" Aufruf hin muss.
Der Konstruktor heißt nicht um sonst Konstruktor. Er konstruiert das...
Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
4. Jan 2006
Mit der "neuen" Lösung musst du jedem im Team erklären, dass er nach dem Create noch deine Erzeugen Methode aufrufen soll. Vergiss einer das, kannst du dir denken was passiert.
Forum: Object-Pascal / Delphi-Language
Delphi
by jbg,
4. Jan 2006
Aber auch nur, weil du implizit von TObject erbst und der TObject-Konstruktor leer ist. Unter .NET würde dir der Compiler einen Fehler ausgeben, weil er ein inherited benötigt.
Ich schreibe immer das inherited beim Konstruktor und Destruktor hin. Denn wenn ich oder ein Kollege mal die Basisklasse ändern sollte und dort z.B. einen eigene Konstruktor implementiert, ist man ganz schön auf der Suche...