类型匹配的问题(50分)

  • 主题发起人 liounzhou
  • 开始时间
L

liounzhou

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Corba服务器端建立服务对象,想传出一个Tstringlist类型,
可是在参数的类型中找不到,使用Variant*类型,提示“Incompatible types:'OleVariant
' and 'TStringlist'。我应该使用什么类型呢?
 
你先把TStringList转换成一个Variant数组
客户端取出后,再转换回来
 
真是不好意思,怎么把TStringlist转换成Variant数组?
 
声明一个OleVaring类型的变量
用VarCreateArray函数创建Variant数组后赋值给它
把TStringList里的内容读到数组里去就行了
和别的数组一样用法
你可以看相关的帮助
用variang搜索,大富翁上有不少帖子
下面的是反向
procedure ParseVarToStrings(vData: OleVariant;aStrings: TStrings);
var
i,vLow,vHigh:integer;
begin
try
if not VarIsArray(vData) then
begin
Raise Exception.Create(
Self.ClassName+
'.ParseVarToStrings(),无效的Variant数组返回值');
end;
vLow := VarArrayLowBound(vData,1);
vHigh := VarArrayHighBound(vData,1);
for i:=vLow to vHighdo
begin
aStrings.add(vData);
end;
except
raise;
end;

end;
 
接受答案了.
 
顶部