有一个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']能不能用一个变量替换?
用于问题主要是解决参数个数不定。

解决方案 »

  1.   

    先声明我不会BCB。
    楼主说的其实就是不定参数的问题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']);
      

  2.   

    谢谢楼上的,问题已经解决了
    方法不太一样我定义了一个V:array of variant
    然后用setlength指定长度,
    MyProc(V)