Hi!
Ich versuchs mal an meinem Originalbeispiel zu erklären.
Ich habe ein Array mit 64 Feldern. Jedes Feld ist vom Typ TField (eigene Klasse). Jedes Feld hat eine Property TPeg (auch eigene Klasse). Jetzt gehe ich hin und leite TPeg ab (neue Klasse: TBauer). Diese hat als zusätzliche Var ein integer Foo.
Jetzt sieht mein Code so aus:
Delphi-Quellcode:
newBauer:= TBauer.Create;
newBauer.foo:=8;
PlayField[i+j+k].peg:=newBauer;
Showmessage(inttostr((PlayField[i+j+k].peg as TBauer).foo));
Dann sagt er mir:
Zitat:
---------------------------
Debugger
Exception Notification
---------------------------
Project Schach.exe raised
exception class EInvalidCast with message 'Invalid class typecast'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Außerdem habe ich das Problem bereits wissen zu müssen, dass es sich um einen Bauer handelt, da ich ja einen TypeCast machen muss. Ohne den sagt er mir natürlich, er kennt Foo nicht.
Ciao Frederi