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? Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.