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:
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;
Geht in den neueren Delphi Versionen etwas leichter, oder es geht auch anstrengender mit manuellem SetLength und danach einzelne Zuweisungen.
Aber daran glaube ich nicht. Falls du nämlich deiner Funktion ein "Variant" übergeben musst dann kannst du das da oben nicht mal übergeben..
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."