Hi,
ich versuche gerade die Items einer ObjectList nach Datum zu sortieren. Die Sortierroutine soll direkt beim hinzufügen eines Items aufgerufen werden. Erstmal mein Code:
Delphi-Quellcode:
function TCalcForm.Add(Value: TCalcFormValue):Integer;
var
i: Integer;
begin
fValues.Add(Value);
fValues.Sort(CompareDate); //Fehler: [Pascal Fehler] CalcForm.pas(106): E2009 Inkompatible Typen: 'Reguläre Prozedur und Methodenzeiger'
for i := 0 to fValues.Count -1 do //damit der Rückgabewert wieder dem ItemIndex des neuen Objekts entspricht
begin
if fValues[i] = Value then
Result := i;
end;
end;
function TCalcForm.CompareDate(Item1, Item2: Integer):Integer;
var
Val1, Val2: TDateTime;
begin
val1 := (fValues[Item1] as TCalcFormValue).Date;
val2 := (fValues[Item2] as TCalcFormValue).Date;
Result := CompareDate(Val1, Val2);
end;
Da es bei der ObjectList kein CustomSort gibt, dachte ich, dieses Sort könnte man genauso aufrufen wie hier:
http://www.delphipraxis.net/internal...atum+sortieren
Die Delphi-Hilfe spuckt mir folgendes aus: procedure Sort(Compare: TListSortCompare);
Es gibt leider keinen Hilfeeintrag zu TListSortCompare. Wie komme ich trotzdem an mein Ziel?