Forum: Object-Pascal / Delphi-Language
Delphi
by Christoph Schneider,
8. Okt 2008
Super, damit lässt sich auch das letzte Problem elegant lösen!
Gerne bilde ich die korrigierte Klasse TMyList nochmals vollständig ab.
Im Anhang lege gleich noch das ganze Konsolen-Projekt bei.
type
TMyList<T: TMyBase> = class(TList<T>)
public
function FindByID(ID: string): T;
Forum: Object-Pascal / Delphi-Language
Delphi
by Christoph Schneider,
8. Okt 2008
Leider erlaubt dies der Compiler nicht:
result := TObject(nil);
-> E2010: Incompatible Types T and TObject
Die Situation verändert sich auch nicht, wenn ich die
veraltete Deklaration der Basis-Klasse anwende:
TMyBase = class(TObject)
Natürlich läuft auch der naheliegende Typcast nicht
Forum: Object-Pascal / Delphi-Language
Delphi
by Christoph Schneider,
7. Okt 2008
Doch, genau das ist es! Damit lässt sicher das Problem lösen.
Jetzt habe ich nur noch ein weiteres Problem mit der Typenzuweisung
result := nil:
TMyList<T: TMyBase> = class(TList<T>)
public
function FindByID(ID: string): T;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Christoph Schneider,
7. Okt 2008
Toll die Spracherweiterung für generische Typen in D2009!
Nur, bei meiner ersten Anwendung einer TList<> Ableitung
habe ich leider erste Schwierigkeiten.
Denn ich möchte eine neue TList<> Ableitung erstellen,
welche auf einer eignen Elementen-Klasse basiert, die
nur ein ID-Property enthält, um später in der neuen List-Klasse
nach dieser ID zu suchen:
TMyBase = class