Function VariantArgsToArray
Function arrVar
Macro Macro3503
;/
function ARRAY(VARIANT)&a VARIANT&firstParam nParamsBefore
;Creates ARRAY(VARIANT) a and moves VARIANT parameters of the caller function to it.
;a - ARRAY(VARIANT) variable. This function creates the array.
;firstParam - address of the first VARIANT parameter.
;nParamsBefore - the number of function parameters before the first VARIANT parameter.
;EXAMPLE
;function` $name [`_A1] [`_A2] [`_A3] [`_A4] [`_A5] [`_A6]
;ARRAY(VARIANT) a; VariantArgsToArray a &_A1 1
int na = getopt(nargs 1)-nParamsBefore
a.create(na)
if na>0
,na*sizeof(VARIANT)
,memcpy &a[0] &firstParam na
,memset &firstParam 0 naFunction arrVar
function` [`_A1] [`_A2] [`_A3] [`_A4] [`_A5] [`_A6]
CsScript x.AddCode("")
ARRAY(VARIANT) a; VariantArgsToArray a _A1
str s=
;cd
ret x.Call("test.Call2" s a)
#ret
using System;
public class test
{
,public static string Call2(string command, params object[] args)
,{
,,Console.WriteLine(command + ": " + string.Join(", ", args));
,,return null;
,}
}Macro Macro3503
