FinalFantasy Geschrieben 30. Juni 2005 Geschrieben 30. Juni 2005 Hi, ich habe eine Klasse geschrieben. Etwa so: TMyClass = class public constructor Create(i: integer); private myint: integer; end; constructor TMyClass.Create(i: integer); begin myint := i; end; [/PHP] So, der Konstruktor wird ganz brav aufgerfufen, jedoch bekomme ich bei der Zuweisung im Konstruktor EAccessViolation. Self ist komischer Weise auch nil. Was mach ich denn falsch? BTW: warum kann man keine Breakpoints mehr im Konstruktor setzen, wenn man ihn virtual macht?
geloescht_JesterDay Geschrieben 4. Juli 2005 Geschrieben 4. Juli 2005 TMyClass = class public constructor Create(i: integer); private myint: integer; end; constructor TMyClass.Create(i: integer); begin [b]inherited create;[/b] myint := i; end; Du musst den Konstruktor der Grundklasse (in diesem Fall TObject) auch erst noch aufrufen, sonst hast du ja nix, was du erben kannst EDIT: virtual heisst, es gibt ihn gar nicht wirklich, sondern er kann nur von den Folgeklassen Überschrieben und Implementiert werden. Ist quasi so ne Art Platzhalter. Die Onlinehilfe sagt dir dazu ne Menge
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden