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.
Delphi-Quellcode:
type
TMyList<T: TMyBase> = class(TList<T>)
public
function FindByID(ID: string): T;
end;
function TMyList<T>.FindByID(ID: string): T;
var
c: integer;
begin
result := Default(T);
for c := 0 to Count - 1 do
if Items[c].ID = ID then
result := Items[c];
end;
Danke an alle für die Tatkräftige Unterstützung!
Das Help von D2009 ist im Vergleich zu D2005-D2007
spürbar besser. Leider enthalten die Kapitel
Overview of Generics und folgende aber keine
Hinweise zu dieser neuen Funktion Default. Auch sonst
finde ich keinen passenden Hinweis. Im Kapitel
Generic-Contraints sind alle Beispiele mit Interface
Klassen geführt, weswegen ich nicht gleich auf die
TMyList<T: TMyBase> kam.
Kennt Ihr eine gute Einführung in Generics von Delphi
auf dem Netz?