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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.