Thema: Delphi Klassen Operatoren

Einzelnen Beitrag anzeigen

Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Klassen Operatoren

  Alt 8. Nov 2019, 10:15
Hallo,

ich habe gerade das Tutorial über TVersion und Klassen-Operatoren von Codehunter gelesen.

Jetzt wollte ich versuchen ob man auch richtige Klassen statt Records mit diesen Operatoren ausstatten kann.

In der Delphi Online-Hilfe steht das auch Klassen mit Operatoren überladen werden können:

Zitat:
Nur die in der Tabelle aufgeführten Operatoren können für eine Klasse oder einen Record definiert werden.
http://docwiki.embarcadero.com/RADSt...atoren_(Delphi)

Das ist mein Code:
Delphi-Quellcode:
...
type
  TTest = class
  private
    FValue: Integer;
  public
    class operator Equal(A: TTest; B: TTest): Boolean; // Zeile 14!
  published
    property Value: Integer read FValue write FValue;
  end;
...
class operator TTest.Equal(A: TTest; B: TTest): Boolean;
begin
  Result := A.Value = B.Value;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  test1: Ttest;
  test2: Ttest;
begin
  test1 := TTest.Create;
  try
    test2 := TTest.Create;
    try
      test1.Value := Edit1.Text.ToInteger;
      test2.Value := Edit2.Text.ToInteger;

      ShowMessage(BoolToStr(test1 = test2, True));
    finally
      test2.Free;
    end;
  finally
    test1.Free;
  end;
end;
Leider erhalte ich folgende Fehlermeldung vom Compiler:
Zitat:
[dcc32 Fehler] Unit1.pas(14): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet
Warum geht das bei mir nicht? Was mache ich falsch?
Andreas Lauß
Blog
  Mit Zitat antworten Zitat