Zitat von
arkon:
folgender schöner quelltext:
Ne, der Quelltext ist nicht schön; er ist unschön!
1.) du sicherst deine Zeiger nicht mit Assert() ab
Delphi-Quellcode:
function compvoc(Item1, Item2: Pointer): integer;
var
t1,t2: extended;
begin
Assert(Assigned(Item1)); // der Rettungsschirm
Assert(Assigned(Item2));
t1:= TChVoc(Item1).coeff;
...end;
2.) Du hast doch schon eine Klasse.
Warum nicht eine Vergleichsfunktion einbauen?
Delphi-Quellcode:
TChVoc = class
public
...
class function Compare(a,b:TChVoc):integer;
end;
...
function compvoc(Item1, Item2: Pointer): integer;
begin
Assert(Assigned(Item1));
Assert(Assigned(Item2));
Result := TChVoc.Compare(TChVoc(Item1), TChVoc(Item2));
end;