![]() |
VB Array/Variant nach Delphi konvertieren
Hallo,
ich habe folgenden Visual Basic Code:
Code:
Wie sieht das selbe in Delphi aus?
Dim MyOptions As Variant
Dim res As Variant res = foo.runMacro(...) MyOptions = Array(Array("Option One", 1234), _ Array("Option Two", "Michigan"), _ Array("Option Three", res)) |
AW: VB Array/Variant nach Delphi konvertieren
|
AW: VB Array/Variant nach Delphi konvertieren
Zitat:
|
AW: VB Array/Variant nach Delphi konvertieren
Wie hast dus gemacht?
Bin mir eigentlich relativ sicher dass es so aussehen müsste:
Delphi-Quellcode:
var MyOptions: Variant;
res: Variant; begin res := 'Irgendwas'; // foo.runMacro(...) MyOptions := VarArrayOf([VarArrayOf(['Option One', 1234]), VarArrayOf(['Option Two','Michigan']), VarArrayOf(['Option Three', res])]); end; |
AW: VB Array/Variant nach Delphi konvertieren
Zitat:
|
AW: VB Array/Variant nach Delphi konvertieren
Array() in VB erzeugt aber auch kein low level Array sondern ein Variant array. Deswegen macht es in meinen Augen keinen Sinn.
Aber gut. Wenn es "low level" Delphi Arrays sein sollen dann probiers so:
Delphi-Quellcode:
Geht in den neueren Delphi Versionen etwas leichter, oder es geht auch anstrengender mit manuellem SetLength und danach einzelne Zuweisungen.
type
TVarArray1D = Array of Variant; TVarArray2D = Array of TVarArray1D; var Options: TVarArray2D; res: Variant; begin res := 'foo.runMacro(...)'; Options := TVarArray2D.Create(TVarArray1D.Create('Option One', 1234), TVarArray1D.Create('Option Two', 'Michigan'), TVarArray1D.Create('Option Three', res)); end; Aber daran glaube ich nicht. Falls du nämlich deiner Funktion ein "Variant" übergeben musst dann kannst du das da oben nicht mal übergeben.. |
AW: VB Array/Variant nach Delphi konvertieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 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