Einzelnen Beitrag anzeigen

arkon

Registriert seit: 15. Jul 2007
Ort: Berlin
7 Beiträge
 
#1

lustiges problem mit dem compiler (?)

  Alt 13. Jun 2009, 12:55
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.
  Mit Zitat antworten Zitat