Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Überladene Funktionen - Delphi erkennt keine Eindeutigkeit? (https://www.delphipraxis.net/154211-ueberladene-funktionen-delphi-erkennt-keine-eindeutigkeit.html)

blackfin 1. Sep 2010 09:51

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Ok, man lernt nie aus :D
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" ;

himitsu 1. Sep 2010 09:54

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Offene Array-Parameter dürfen nicht als Typ vorliegen.

Delphi-Quellcode:
function ATest(aParam: TSArray): boolean;
"normaler" Array-Parameter
Delphi-Quellcode:
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).

blackfin 1. Sep 2010 09:55

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Joa, find'sch zwar doof, ist aber halt so. Naja,ich brauch das eh so nie :D

uligerhardt 1. Sep 2010 10:01

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Zitat:

Zitat von blackfin (Beitrag 1046587)
Ok, man lernt nie aus :D
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". :mrgreen:

blackfin 1. Sep 2010 10:01

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Hab's schon gerafft! (ist zwar selten, aber das jetzt schon :D)

himitsu 1. Sep 2010 10:02

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Zitat:

Zitat von blackfin (Beitrag 1046591)
aja,ich brauch das eh so nie :D

Du benutzt also niemals die Delphi-Referenz durchsuchenFormat-Funktion? :angel2:

blackfin 1. Sep 2010 10:02

AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
 
Selten, aber ja, jetzt, wo du's sagst....:oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.
Seite 2 von 2     12   

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