![]() |
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" ; |
AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Offene Array-Parameter dürfen nicht als Typ vorliegen.
Delphi-Quellcode:
"normaler" Array-Parameter
function ATest(aParam: TSArray): boolean;
Delphi-Quellcode:
offener Array-Parameter
function ATest(aParam: array of String): boolean;
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). |
AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Joa, find'sch zwar doof, ist aber halt so. Naja,ich brauch das eh so nie :D
|
AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Zitat:
![]() |
AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Hab's schon gerafft! (ist zwar selten, aber das jetzt schon :D)
|
AW: Überladene Funktionen - Delphi erkennt keine Eindeutigkeit?
Zitat:
![]() |
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. |
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