Veröffentlicht 30. Juni 200520 j 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?
4. Juli 200520 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.