![]() |
Re: Array-Parameterübergabe
Delphi-Quellcode:
Bei mir kompiliert das und das Array enthält auch die richtigen Werte.
{$O-}
procedure TForm1.test(a: array of Single); begin asm nop end; end; procedure TForm1.FormCreate(Sender: TObject); begin test([4.2, 13.37]); end; EDIT: Mit zwei Arrays gehts genauso. Wie hast du deine Methode deklariert? EDIT2: Unter Delphi 7. |
Re: Array-Parameterübergabe
Manuel, du hast Recht. Es hängt einzig und allein von der Signatur der aufgerufenen Routine ab. Bei dem von mir verlinkten Thread wurde die Funktion CreatePolygonRgn verwendet, die einen typenlosen CONST-Parameter erwartet. Hier funktioniert nur die von mir vorgestellte Lösung mit dem Konstruktor-Aufruf (und auch nur ab Delphi 2005/6). Wenn (wie in deinem Beispiel) der Parameter mit Typ vereinbart wird, funktionieren beide Lösungen - auch in früheren Delphi-Versionen.
Gruß Hawkeye |
Re: Array-Parameterübergabe
Stimmt, es funktioniert. Folgendes kompiliert jedoch nicht (und so habe ich es gemacht):
Delphi-Quellcode:
type
TInput = array of Single; procedure proc(Input: TInput); asm nop; end; begin proc([0.0, 1.0]); end; |
Re: Array-Parameterübergabe
Hallo Lucas,
du mußt deine Routine ein wenig abändern:
Delphi-Quellcode:
Gruß Hawkeye
procedure proc(const Input: array of Single);
asm nop; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:14 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