Zitat:
Delphi-Quellcode:
type
//...
PFunction = ^TFunction;
TFunction = class(TObject)
private
//...
Das ist doch schwachsinn (sorry für die Ausdrucksweise). Eine Klasse ist bereits ein Pointer und somit wäre PFunction ein Pointer auf einen Pointer. Man kann doch gleich TFunction nehmen für die TList.
Dementsprechend würden die AddMethoden dann so aussehen
Delphi-Quellcode:
procedure TFunctionList.addFunction(Value: TFunction);
begin
FFunctions.Add(Value);
end;
procedure TFunctionList.deleteFunction(Value: Integer);
begin
FFunctions.Delete(value);
end;
Zum nächsten:
Delphi-Quellcode:
for i:=FPoints.Count-1 to 0 do // in umgekehrter Reihenfolge
begin
aPoint := FPoints.Items[i];
Dispose(aPoint);
FPoints.Delete(i);
end;
FPoints.Free; // FreeAndNil wäre hier überflüssig
die Zeile "FPoints.Delete(i)" kann auch weggelassen werden da nach der Schleife sowieso "FPoints.Free" aufgerufen wird (für was die Items löschen wenn Sie durch Free dann auch gelöscht werden)