Einzelnen Beitrag anzeigen

Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Verschiedene Klassen in Klasse

  Alt 12. Jun 2005, 11:07
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
Frederic Kerber
  Mit Zitat antworten Zitat