Einzelnen Beitrag anzeigen

Irrgärtner

Registriert seit: 2. Jun 2007
13 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Zugriffsverletzung bei Zugriff auf Objekt

  Alt 5. Jul 2007, 09:54
Hallo,

wieso, weshalb, warum spielt hier doch keinerlei Rolle. Tatsache ist, der Code existiert so. Ich kann ihn nicht posten, weil es ein riesiges Projekt ist, und ich auch nicht weiß, wo dieser .Instance-Eigenschaft etwas zugewiesen wird (wo schon, aber da wird wieder ein Parameter übergeben, das ganze zigmal durchlaufen und nur einmal kommt ein Fehler).

Also: ich habe bei der Erzeugung des Objektes, von dem .Instance eine Eigenschaft ist, diese initialisiert mit NIL. Guter Einwurf, ändert aber nichts. Nur um alles auszuschließen: die Abfrage mit "is nil" geht doch sowieso nicht, es muß doch "= nil" oder "Assigned()" heißen?

Zur Veranschaulichung doch noch ein wenig Code:

Bei der Deklaration der Row-Klasse:
Delphi-Quellcode:
public
   Instance: TObject;

Bei der Erzeugung:
constructor TRow.Create;
begin
   [...]
   Instance := NIL;
end;
In einer anderen Klasse dann:
if (not (Row.Instance is TclsAIArticleItem)) ... // Fehler

Also: .Instance ist nicht NIL, ist aber auch kein Objekt der Klasse oder einer abgeleiteten Klasse, die abgefragt wird (deshalb der Compilerfehler), sondern es zeigt irgendwohin. Es wird aber auch offenbar nirgends ein Objekt einer anderen Klasse zugewiesen. Row.ClassName geht auch nicht! Verdammt!

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat