AGB  ·  Datenschutz  ·  Impressum  







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

Mehrdeutigkeit bei Overload?

Ein Thema von Shaman · begonnen am 8. Sep 2006 · letzter Beitrag vom 8. Sep 2006
Antwort Antwort
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#1

Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 10:44
Hey there

Delphi-Quellcode:
procedure Test(const X: Integer); overload;
begin
  {...}
end;

procedure Test(const X: Real); overload;
begin
  {...}
end;

procedure DoSomething;
var
  P: Pointer;
begin
  P:= @Test;
  {...}
end;
Wohin zeigt hier P? Ich meine, das kann sich ja schlecht erst dann entscheiden, wenn man den Pointer castet, oder?

Greets
Shaman
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 10:47
Das Problem gabs schonmal. Ich mein es zeigt immer auf das 1. Und es konnte auch nicht gelöst werden, was aber eigentlich auch logisch ist.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 11:31
Zitat von brechi:
Das Problem gabs schonmal. Ich mein es zeigt immer auf das 1. Und es konnte auch nicht gelöst werden, was aber eigentlich auch logisch ist.
Es gibt zu allem eine Lösung :

Delphi-Quellcode:
var
  x: procedure(const X: Real);
begin
  x := Test; // alternativ geht auch "@x := @Test;"
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 11:55
Zitat von brechi:
Das Problem gabs schonmal. Ich mein es zeigt immer auf das 1. Und es konnte auch nicht gelöst werden, was aber eigentlich auch logisch ist.
Stimmt
und es gibt keine direkte Lösung dafür ... Delphi bietet halt nichts dafür, außer jbg's Vorschlag.

Und logisch ist es nicht, andere Programmiersprachen bieten dafür eine Lösung (zumindestens in ASM).

Delphi-Quellcode:
type TProcedure = procedure(const X: Real);
var P: Pointer;

TProcedure(P) := Test;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 12:09
Das logsich war eher darauf gemeint, dass der compiler es nicht selbst erkennen kann, wenn man den parameter nicht angibt. Also bezogen auf das @name.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 12:21
OK, wenn man dat so sieht

Hab halt das Problem, daß man in ASM nicht angeben kann welche Funktion man möchte, auch der Kompiler es nichts erkennen kann, da dort ja nicht die Parameter direkt angegeben werden und diese TypenDeklarationsGeschichte ebenfalls dort nicht funktioniert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 12:47
Zitat von himitsu:
OK, wenn man dat so sieht

Hab halt das Problem, daß man in ASM nicht angeben kann welche Funktion man möchte, auch der Kompiler es nichts erkennen kann, da dort ja nicht die Parameter direkt angegeben werden und diese TypenDeklarationsGeschichte ebenfalls dort nicht funktioniert.
Aber du kannst doch sicherlich eine typisierte Konstante anlegen und darauf in ASM verweisen, right?
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Mehrdeutigkeit bei Overload?

  Alt 8. Sep 2006, 12:58
"Ja", aber dafür muß man dann ASM mit Pascal mischen und das ist nicht immer sonderlich schön anzusehen
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


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:37 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