AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Operatoren überladen in Delphi 9

Ein Thema von koerbi · begonnen am 24. Mär 2009 · letzter Beitrag vom 26. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
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
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#2

Re: Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 08:56
Hallo,

erstmal herzlich willkommen in der 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 diesen Thread hier an.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
HeinzJ

Registriert seit: 17. Aug 2007
Ort: Bremen
84 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 09:19
Kein Delphi 9 -> Heise: Borland präsentiert Delphi 9
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 09:28
Zitat von HeinzJ:
Zum Release-Zeitpunkt wurde diese Version Delphi 2005 genannt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 11:50
Unter Win32 kann man Operatoren doch sowieso nur mit Records, aber nicht mit Klassen überladen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#6

Re: Operatoren überladen in Delphi 9

  Alt 24. Mär 2009, 12:32
Zitat von Meflin:
Unter Win32 kann man Operatoren doch sowieso nur mit Records, aber nicht mit Klassen überladen
genau.

das Einzige, was möglich ist, ist das Objekt in einen Record zu legen.

z.B. siehe http://www.delphipraxis.net/internal...t.php?t=151373
(dort ist zwar ein Interface im Record, aber im Prinzip isses das Selbe)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
koerbi

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

Re: Operatoren überladen in Delphi 9

  Alt 26. Mär 2009, 07:57
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#8

Re: Operatoren überladen in Delphi 9

  Alt 26. Mär 2009, 08:34
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Operatoren überladen in Delphi 9

  Alt 26. Mär 2009, 10:42
Zitat von koerbi:
beinhaltet das also "Delphi .NET", welches OP-Overloading unterstützt!?
Auch Delphi Win32 unterstützt Operator Overloading. Also was willst du jetzt eigentlich genau, ich blick nicht ganz durch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

Re: Operatoren überladen in Delphi 9

  Alt 26. Mär 2009, 12:23
Zitat von Meflin:
Auch Delphi Win32 unterstützt Operator Overloading. Also was willst du jetzt eigentlich genau, ich blick nicht ganz durch
nur bei Records und nicht bei Objekten.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz