nehmen wir an, du hast das hier:
Delphi-Quellcode:
type TBaseClass = class
public
procedure DoSomthing();virtula;abstract;
end;
Delphi-Quellcode:
type T1stClass = class(TBaseClass)
public
procedure DoSomthing();override;
end;
Delphi-Quellcode:
type T2ndClass = class(TBaseClass)
public
procedure DoSomthing();override;
end;
Du willst nur Instanzen von T1stClss oder T2ndClass an ein ListItem hängen.
Das würde bedeuten, dass du den Pointer sofort auf TBaseClass casten kannst. Von dort an ist es ein Klacks...
Vor Allem: Wenn du Funktionen/Eigenschaften hast, die beide Objekte verwenden (hier durch DoSomething symbolisiert) würdest du dir weitere TypeCast sparen.