AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Thema durchsuchen
Ansicht
Themen-Optionen

Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

Offene Frage von "himitsu"
Ein Thema von RSE · begonnen am 1. Sep 2010 · letzter Beitrag vom 1. Sep 2010
Antwort Antwort
Seite 2 von 2     12   
blackfin
(Gast)

n/a Beiträge
 
#11

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 09:51
Ok, man lernt nie aus
So habe ich das noch nie benutzt, ich übergebe sowas normalerweise dann immer als Variable...

Komischerweise funktionieren die offenen Var-Parameter nicht mehr, sobald man das array als einen Typ kapselt:

Delphi-Quellcode:
type
  TSArray = array of string ;
...
  function ATest(aParam: TSArray): boolean ;
...
ATest(['bla','möp']) ;

=> Fehler "ordinaltyp erforderlich" ;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 09:54
Offene Array-Parameter dürfen nicht als Typ vorliegen.

function ATest(aParam: TSArray): boolean; "normaler" Array-Parameter
function ATest(aParam: array of String): boolean; offener Array-Parameter

Und nur beim Letzen kann man [...] direkt übergeben.
Beim Ersten muß eine Variable/Konstante mit genau diesem Typen übergeben werden.

aParam: TSArray übergibt nur einen Pointer auf die Variable/Konstante.
Beim offenen Arrayparameter wird etwas mehr intern gemacht (die Werte werden einzeln in ein temporäres Array kopiert, mit der Länge versehn und erst dann an die Funktion übergeben).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Sep 2010 um 09:56 Uhr)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#13

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 09:55
Joa, find'sch zwar doof, ist aber halt so. Naja,ich brauch das eh so nie
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 10:01
Ok, man lernt nie aus
So habe ich das noch nie benutzt, ich übergebe sowas normalerweise dann immer als Variable...

Komischerweise funktionieren die offenen Var-Parameter nicht mehr, sobald man das array als einen Typ kapselt:

Delphi-Quellcode:
type
  TSArray = array of string ;
...
  function ATest(aParam: TSArray): boolean ;
...
ATest(['bla','möp']) ;

=> Fehler "ordinaltyp erforderlich" ;
Nochmal hier, unter "Confusion".
Uli Gerhardt
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#15

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 10:01
Hab's schon gerafft! (ist zwar selten, aber das jetzt schon )
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 10:02
aja,ich brauch das eh so nie
Du benutzt also niemals die Delphi-Referenz durchsuchenFormat-Funktion?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#17

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?

  Alt 1. Sep 2010, 10:02
Selten, aber ja, jetzt, wo du's sagst....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:44 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