![]() |
Operatoren überladen in Delphi 9
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:
[edit=Phoenix]Delphi-Tags eingefügt. Mfg, Phoenix[/edit]
################################################
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. |
Re: Operatoren überladen in Delphi 9
Hallo,
erstmal herzlich willkommen in der DP. :dp: Zum einen habe ich erstmal um den Code in Deinem Beitrag Delphi-Tags gelegt. Bitte beachte bei zukünftigen Posts, dass Du das selber machst (oben über dem Beitrag-Editor hats nen Button Delphi-Code, der diese Tags einfügt). Damit wird der Code lesbar formatiert. Zum anderen: Es gibt kein Delphi 9. Es gibt Delphi 8 für das Microsoft .NET Framework. Die darauf folgende Version war Delphi 2005. Oder meinst Du etwa 2009? Und keine reine Delphi-Version 'beinhaltet' Delphi .NET. Nur das RAD Studio (2007, 2009), bei der 2005er und 2006er Version hiess das noch Borland Developer Studio, enthielt dann jeweils auch die .NET Version. Delphi .NET heisst jetzt (also 2009er Version) übrigens Delphi Prism. Also: Was meinst Du? Und zur Operator-Überladung (geht erst ab Delphi 2006, wenn Du mit Delphi 9 also die 2005er meinst hast Du pech gehabt) guckst Du Dir am besten mal ![]() |
Re: Operatoren überladen in Delphi 9
Kein Delphi 9 :cyclops: ->
![]() |
Re: Operatoren überladen in Delphi 9
Zitat:
|
Re: Operatoren überladen in Delphi 9
Unter Win32 kann man Operatoren doch sowieso nur mit Records, aber nicht mit Klassen überladen :gruebel:
|
Re: Operatoren überladen in Delphi 9
Zitat:
das Einzige, was möglich ist, ist das Objekt in einen Record zu legen. z.B. siehe ![]() (dort ist zwar ein Interface im Record, aber im Prinzip isses das Selbe) |
Re: Operatoren überladen in Delphi 9
hallo,
ich benutze Code Gear Rad Studio 2009 (mit Delphi 2009) beinhaltet das also "Delphi .NET", welches OP-Overloading unterstützt!? kann mir jemand ein kleines simples Beipsiel schicken, was ich auch unter delphi 2009 kompileren kann? oder mein Beispiel korrekt erweitert? am besten mit Klassen und Records habe mit OP-Overloading leider noch garkeine Erfahrung! danke wünsche euch noch viel Spass gruss koerbi |
Re: Operatoren überladen in Delphi 9
Delphi.net gibt es sozusagen nicht mehr ... stattdessen gibt es dort (wie schon erwähnt) Delphi Prism (müßte im RAD2009 drin sein) und dieses müßtst du dann theoretisch verwenden. :gruebel:
|
Re: Operatoren überladen in Delphi 9
Zitat:
|
Re: Operatoren überladen in Delphi 9
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz