AGB  ·  Datenschutz  ·  Impressum  







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

Overload + Reintroduce

Ein Thema von Neutral General · begonnen am 25. Nov 2005 · letzter Beitrag vom 25. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Overload + Reintroduce

  Alt 25. Nov 2005, 15:07
Hi,

Ich schreibe gerade eine Klasse.
Ich möchte das diese Klasse diese beiden Constructoren hat:

Delphi-Quellcode:
constructor Create(Hwnd: THandle);
constructor Create(WindowText: String);
Und zwar sollen die Create Methode überladen sein und die Original TObject.Create Methode soll verschwinden.

constructor Create(Hwnd: THandle); reintroduce; So hab ich den Original Constructor weg aber halt ohne zu überladen.

Delphi-Quellcode:
constructor Create(Hwnd: THandle); reintroduce;
constructor Create(Hwnd: THandle); reintroduce;
geht nicht, weil ich überladen muss und bei

Delphi-Quellcode:
constructor Create(Hwnd: THandle); reintroduce; overload;
constructor Create(Hwnd: THandle); reintroduce; overload;
existiert immernoch die Original Create-Methode -.-
Wie macht man das denn jetzt ?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

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

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:12
Äh... das reintroduce einfach weglassen und overload verwenden

  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:13
Ne dann bleibt die Original Create Methode auch bestehen...
Michael
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:17
ReIntroduce 1x
Overload 2x

Wenn du aber von TObject ableitest, wo die Constructoren noch nicht virtuell sind, dann einfach ohne alles.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

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

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:18
Zitat von Neutral General:
Ne dann bleibt die Original Create Methode auch bestehen...
kann sein dass ich das mit override verwechselt habe... schonmal probiert?

  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:21
Zitat von Muetze1:
ReIntroduce 1x
Overload 2x

Wenn du aber von TObject ableitest, wo die Constructoren noch nicht virtuell sind, dann einfach ohne alles.
dann kommt das :[Fehler] hwndHandler.pas(15): Die überladene Prozedur 'Create' muss mit der Direktive 'overload' gekennzeichnet sein

Zitat von Meflin:
Zitat von Neutral General:
Ne dann bleibt die Original Create Methode auch bestehen...
kann sein dass ich das mit override verwechselt habe... schonmal probiert?
Ja: [Fehler] hwndHandler.pas(14): Eine statische Methode kann nicht überschrieben werden
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

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

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:24
So ganz komme ich sowieso nicht mit: wieso willst du ZWEI konstruktoren in EINER klasse. wozu soll DAS gut sein

  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:28
Zitat von Meflin:
So ganz komme ich sowieso nicht mit: wieso willst du ZWEI konstruktoren in EINER klasse. wozu soll DAS gut sein
nunja, je nach verwendeted constructor das erstellte objekt eben anders initialisieren. das gibts sogar bei der VCL (wenn ich jetzt nur wüsste, wo...^^)
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:31
Delphi-Quellcode:
 TWindowHandler= class
 private

 public
  Handle: THandle;
  constructor Create(Hwnd: THandle); // reintroduce; overload; oder was auch immer...
  constructor Create(WindowText: String);// reintroduce; overload; oder was auch immer...
 end;
Naja bei manchen Klassen ist sowas einfach sinnvoll.
Da kann sich der Benutzer/Programmiere aussuchen was er für einen Parameter angibt.
Es gibt so Klassen. Mir fällt jetzt grad keine ein aber es gibt z.B eine Klasse die erwartet als Parameter entweder ein Handle oder irgendwas anderes was ich jetzt nicht weiß. Und ich brauche auch sowas.

Im Anhang noch eine Bild.
Miniaturansicht angehängter Grafiken
problem_731.jpg  
Michael
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Overload + Reintroduce

  Alt 25. Nov 2005, 15:43
1. Ohne virtuelle Constructor:

Delphi-Quellcode:
Type
  TObject1 = Class
  Public
    Constructor Create;
    Destructor Destroy; Override;
  End;

  TObject2 = Class(TObject1)
  Public
    Constructor Create(AchWasWeissIch: Integer); Overload;
    Constructor Create(WasAucHImmer: String); Overload;
    Destructor Destroy; Override;
  End;
2. mit virtuellem Constructor

Delphi-Quellcode:
  TObject1 = Class
  Public
    Constructor Create(whatever: TForm); Virtual;
    Destructor Destroy; Override;
  End;

  TObject2 = Class(TObject1)
  Public
    Constructor Create(AchWasWeissIch: Integer); ReIntroduce; Overload;
    Constructor Create(WasAucHImmer: String); ReIntroduce; Overload;
    Destructor Destroy; Override;
  End;
Beides getestet in Delphi - what's the problem?
  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 23:56 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