怎样一次性的给数组赋值? (100分)

  • 主题发起人 主题发起人 黄忠伟
  • 开始时间 开始时间

黄忠伟

Unregistered / Unconfirmed
GUEST, unregistred user!
我生成了系统中一个对象 如:myObject,myObject有一个方法是
AddUrlList,我看到它的vb代码是:myObject.AddUrlList params,
params是一个数组,我的pascal代码是:
params[1]:='string1'

params[2]:='string2'

但是当我这样调用时却出错:myObject.AddUrlList(params)


请问应该怎样写?谢谢
 
params是什么类型?,出错信息是什么? 调用的方法是没问题的,估计是类型错误,
要不然就是AddUrlList的内部实现有问题。
 
params[0]:='string1'

params[1]:='string2'
 
语法检查时出错:Type not allowed in Variant Dispatch call
 
通常在COM call中, 只可以傳入OleVariant型態, 不能用Dynamic array, 所以你可以改為
如下:

var
Params: OleVariant;
begin
Params := VarArrayOf(['string1', 'string2'])
//相當於VB的Array函數
myObject.AddUrlList(params)

end;

begin
Params := VarArrayCreate([0, 1], varVariant)
//相當於VB定義動態陣列的Dim
Params[0] := 'string1';
Params[1] := 'string2';
myObject.AddUrlList(params);
end;
 
接受答案了.
 
后退
顶部