最近用Delphi 开发几个com组件,但是碰到一个问题:com中的函数的返回值如何返回一个数组,比如输入参数为widestring类型,结果得到一个数组,怎样将这数组返回?  另外一个问题是 Windows XP 下 Delphi 如何调试com组件 ?

解决方案 »

  1.   

     AccountReg := VarArrayCreate([0,1], VarVariant);
      AccountReg[1] := 123456;          // 假设 AccNum=123456
      TempVar1 := VarArrayCreate([0,1023], VarVariant);
      for i:=0 to 1023 do
      begin
        TempVar2 := VarArrayCreate([0,1], VarVariant);
        TemptVar2[0] := ??????;         // sValue的值    
        TemptVar2[1] := ??????;         // cType的值
        TempVar1[i] := TempVar2;
      end;
      AccountReg[0] := TempVar1;
    ???
      

  2.   

    1.用variant数组
    2.也可以使接口返回一个WideString类型的XML来表示数组!不是更方便?