有一个pascal函数调用如下:
A([123,456,'fdsa'],'aaa');
请问第一个参数[123,456,'fdsa']是一个Variant在BCB中怎么实现替换(用一个变量)??
问什么我定义了我得定义后替换不对:
Variant Vari;
Vari=VarArrayCreate([0,3],Varany);
//对Vari赋值
这时调用A(Vari,'aaa');出错另外在Pascal中[123,456,'fdsa']能不能用一个变量替换?
用于问题主要是解决参数个数不定。
A([123,456,'fdsa'],'aaa');
请问第一个参数[123,456,'fdsa']是一个Variant在BCB中怎么实现替换(用一个变量)??
问什么我定义了我得定义后替换不对:
Variant Vari;
Vari=VarArrayCreate([0,3],Varany);
//对Vari赋值
这时调用A(Vari,'aaa');出错另外在Pascal中[123,456,'fdsa']能不能用一个变量替换?
用于问题主要是解决参数个数不定。
楼主说的其实就是不定参数的问题procedure MyProc(AValue : array of const);
var
I : Integer;
begin
for I := 0 to High(AValue) do
begin
caseAValue[I].vType of
vtInteger :...
vtString : ...
else
end;
end;
end;eg : MyProc([10,45,68,'zzzz']);
方法不太一样我定义了一个V:array of variant
然后用setlength指定长度,
MyProc(V)