Hallo,
ein Versuch ohne Gewähr:
Delphi-Quellcode:
function CompareNextStart(Item1, Item2: Pointer): Integer;
begin
if (TMyItem(Item1).NextStart = 0) then Result := -99 // 0 ist im Wunschergebnis > als alles Andere.
else if (TMyItem(Item2).NextStart = 0) then Result := 99
else if (TMyItem(Item1).NextStart < TMyItem(Item2).NextStart) then Result := 1 // Item1 ist < Item2
else if (TMyItem(Item1).NextStart > TMyItem(Item2).NextStart) then Result := -1 // Item1 ist > Item2
else Result := 0; // Item1 = Item2
end;
Getauscht wird, wenn Result <> 0.
PS: Du warst schneller als ich