Hallo,
Du hast einen Fehler in Deiner Deklaration:
Delphi-Quellcode:
class operator TMyRecord.Inc(AAmount: Integer): TMyRecord;
begin
Writeln('Inc ', Result.Data, ' by ', AAmount);
Result:=Result+AAmount;
end;
Was soll denn hier erhöht werden? Result ist undefiniert und eine Klassenmethode kann auf keine Objekt-Member zugreifen.
Richtig ist die Implementierung des Operators Inc so:
Delphi-Quellcode:
class operator TMyRecord.Inc(ARecord: TMyRecord; AAmount: Integer): TMyRecord;
begin
Writeln('Inc ', ARecord.Data, ' by ', AAmount);
Result:=ARecord+AAmount;
end;
Du musst ja angeben, welchen Record Du bearbeiten willst.
Gruß
xaromz