Also was mir auch aufgefallen ist... (grml zu langsam.. aber egal
)
Delphi-Quellcode:
function TList<T>.IndexOf(const Value: T): Integer;
var
i: Integer;
begin
for i := 0 to Count - 1 do
if FComparer.Compare(FItems[i], Value) = 0 then
Exit(i);
Result := -1;
end;
Ich glaube FComparer ist nil. Man kann einen im constructor übergeben...
Ich hab das jetzt so gemacht:
test := TObjectList<TTest>.Create(TComparer<TTest>.Create)
Jetzt kommt keine
AV mehr, sondern ein abstrakter Fehler
Edit: Klar... Compare ist bei TComparer auch noch abstract -.-
ABER:
Das heißt ja ich muss mir entweder ne Klasse von TComparer ableiten oder ich muss mir sone Compare function schreiben und einem TDelegatedComparer im constructor übergeben.
Der Aufwand macht die generischen Listen ja schon wieder fast unnötig
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."