![]() |
Parameterübergabe: Array of record
Hallo,
nu hab ich auch mal eine Frage: Ich möchte gerne an eine Prozedur/Funktion ein offenes Array von Records übergeben. Mit offenen Arrays von normalen Datentypen (z.B. Strings) klappt das recht einfach:
Delphi-Quellcode:
kann ich aufrufen mit
procedure Log(arr: array of String);
Delphi-Quellcode:
Wenn ich mir jetzt ein Record definiere, würd ich gerne eine variable Anzahl dieser Records an meine Funktion übergeben:
Log([str1, str2, str3]);
Delphi-Quellcode:
Soweit so gut. Aber wie rufe ich diese Funktion jetzt auf?
type
TCmdLineSwitch = record Name: String; ValueType: (vtString, vtInteger, vtBool); end; function ParseArgs(switches: array of TCmdLineSwitch);
Delphi-Quellcode:
klappt nicht.
ParseArgs(['debug', vtBool], ['logfile', vtString], ['loglevel', vtInteger]);
Hat da jemand eine Idee, wie (und ob überhaupt) das geht? Ich möchte eigentlich nicht extra erst eine Variable definieren, die ich explizit füllen muss. Danke schonmal! Gruß, Michael |
Re: Parameterübergabe: Array of record
Die einfachste Lösung wäre es, einen "Konstruktor" für deinen Record zu schreiben - Beispiel:
![]() |
Re: Parameterübergabe: Array of record
Hmpf, an die einfachsten Lösungen denkt man natürlich nicht.
Danke, klappt bestens! Gruß, Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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