Zitat von
Klaus01:
Gibt es vielleicht Überschneidungen der Klasse TPoint (die ist von dir)
und dem record TPoint (der wird von Delphi bereitgestellt)?
Vielleicht benamst Du Deine Klasse um?
Klingt plausibel, aber Umbennen half nichts.
Zitat von
mleyen:
Delphi-Quellcode:
function sortpoints(Item1, Item2: Pointer): Integer;
begin
if (((Item1^ as Tpoint).t) < ((Item2^ as TPoint).t)) then
Result := -1
else
if (((Item1^ as Tpoint).t) = ((Item2^ as TPoint).t)) then
Result := 0
else
Result := 1;
end;
Pointer evtl dereferenzieren?
Nützt leider auch nichts.
Zitat von
Apollonius:
Casten: TPoint(Item1)
Mit dem Cast funktionierts, allerdings sagt Delphi vorsicht unsicher. Wieso geht denn "as" nicht?
Delphi-Quellcode:
//falls es wen interessiert: mit der funktion aus math geht der vergleich schöner:
result:=CompareValue(TPoint(Item1).t, TPoint(Item2).t);
Vielen Dank euch für die Antworten