Einzelnen Beitrag anzeigen

koerbi

Registriert seit: 23. Mär 2009
2 Beiträge
 
#1

Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 07:41
Hallo Leute,

Anfängerfrage??????????
habe Probleme ein einfaches Beispiel zu Operator Overloading zu kompilieren
(siehe unten)
wenn ich die betreffenden Zeilen auskommentiere geht es!
was ist mein Fehler? beinhaltet Delphi 9 , Delphi.NET?

folgende Fehlermeldung kommt dann:
[DCC Fehler] Unit1.pas(28): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet
[DCC Fehler] Unit1.pas(28): E2029 ',' oder ':' erwartet, aber '(' gefunden
[DCC Fehler] Unit1.pas(28): E2029 ';' erwartet, aber ':' gefunden
[DCC Fehler] Unit1.pas(28): E2029 ',' oder ':' erwartet, aber ';' gefunden
[DCC Fehler] Unit1.pas(29): E2029 Typ erwartet, aber 'END' gefunden
[DCC Fehler] Unit1.pas(45): E2037 Deklaration von 'testclass' unterscheidet sich von vorheriger Deklaration
[DCC Fataler Fehler] simpletest2.dpr(5): F2063 Verwendete Unit 'source\Unit1.pas' kann nicht compiliert werden



danke

gruss koerbi

Delphi-Quellcode:
################################################
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  testclass = class
    var i1:integer;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    class operator Add(a, b: testclass): testclass; //<========geht nicht zu kompilieren
  end;






var
  Form1: TForm1;

implementation
{$R *.dfm}


var status:integer;

class operator testclass.Add(a, b: testclass): testclass; // <========geht nicht zu komilieren

begin
end;

procedure changeFormColor();
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 case(status) of
  1: begin
      status:=2;
      label1.Caption:='label1: my state is 2 now!';
       button1.caption:='change to state 1 now!';
     end;
  2: begin
      status:=1;
      label1.Caption:='label1: my state is 1 now!';
       button1.caption:='change to state 2 now!';
     end;


  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   status:=1;
end;

end.
[edit=Phoenix]Delphi-Tags eingefügt. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat