![]() |
Delphi-Version: 5
Self ist im Constructor nil
Wie im Titel beschrieben, rufe ich einen constructor auf und schon in dessen erster Zeile ist self=nil , was einen Zugriffsfehler zur Folge hat.
Delphi-Quellcode:
Ich kann den Fehler einfach nicht finden. Daher wäre es nett, wenn ihr mir helfen könntet.
interface
type tzustand=(l,g,t); tknoten=class z:tzustand; farbe:integer; liste:tliste; constructor create; destructor destroy; procedure reparieren; end; implementation constructor tknoten.create; Begin self.z:=l; //Hier erhalte ich immer eine EAccesViolation farbe:=0; liste:=nil; end; |
AW: Self ist im Constructor nil
Wie rufst du denn den Konstruktor auf?
|
AW: Self ist im Constructor nil
Delphi-Quellcode:
constructor tknoten.create;
Begin inherited; self.z:=l; //Hier erhalte ich immer eine EAccesViolation farbe:=0; liste:=nil; end; |
AW: Self ist im Constructor nil
Das liegt daran, wie du später den Konstruktor aufrufst:
Delphi-Quellcode:
var
knoten : tknoten; begin knoten.Create; // FALSCH! knoten := tknoten.Create; // Richtig |
AW: Self ist im Constructor nil
Delphi-Quellcode:
Ich bin über die Suche jeden Constructor Aufruf durchgeganen, und er ist immer wie oben.
var k:tknoten
if k=nil then k:=k.create |
AW: Self ist im Constructor nil
Delphi-Quellcode:
if not Assigned( k) then k := TKnoten.Create;
|
AW: Self ist im Constructor nil
Zitat:
|
AW: Self ist im Constructor nil
Danke :oops: , an den anderen Stellen war er tknoten.create.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz