folgender schöner quelltext:
Delphi-Quellcode:
function compvoc(Item1, Item2: Pointer): integer;
var
t1,t2: extended;
begin
t1:= TChVoc(Item1).coeff;
t2:= TChVoc(Item2).coeff;
if t1> t2then
result := -1
else
result := 1;
// Result := Round(TChVoc(Item1).coeff - TChVoc(Item2).coeff);
end;
wenn ich die if-abfrage ausklammere oder nur die letzte, ausgeklammerte zeile benutze funktioniert alles wunderbar. nur in der version, die oben steht, gibts nen zugriffsfehler. sicher, der eigentlich fehler liegt nicht hier sondern woanders. ABER: warum funktioniert "Result := Round(TChVoc(Item1).coeff - TChVoc(Item2).coeff);" aber nicht "if Round(TChVoc(Item1).coeff > TChVoc(Item2).coeff) then" !?!??!?!?
was zur hölle soll mir das sagen? compiler-optimierung ist schon ausgeschaltet.