Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Parameterübergabe: Array of record (https://www.delphipraxis.net/88626-parameteruebergabe-array-record.html)

SirTwist 18. Mär 2007 13:24


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:
procedure Log(arr: array of String);
kann ich aufrufen mit
Delphi-Quellcode:
Log([str1, str2, str3]);
Wenn ich mir jetzt ein Record definiere, würd ich gerne eine variable Anzahl dieser Records an meine Funktion übergeben:

Delphi-Quellcode:
type
  TCmdLineSwitch = record
    Name:      String;
    ValueType: (vtString, vtInteger, vtBool);
  end;

function ParseArgs(switches: array of TCmdLineSwitch);
Soweit so gut. Aber wie rufe ich diese Funktion jetzt auf?

Delphi-Quellcode:
ParseArgs(['debug', vtBool], ['logfile', vtString], ['loglevel', vtInteger]);
klappt nicht.

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

Khabarakh 18. Mär 2007 13:48

Re: Parameterübergabe: Array of record
 
Die einfachste Lösung wäre es, einen "Konstruktor" für deinen Record zu schreiben - Beispiel: Delphi-Referenz durchsuchenPoint()

SirTwist 18. Mär 2007 13:55

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 03:38 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