字符串 BSTR就好了,最简单,
解决方案 »
- 在delphi中如何用线程向窗口发消息
- [求助]数据库查找的问题(菜鸟级的)
- 关于DBGrid的重绘问题drawdatacell事件的使用,难题还没解决
- 谁有 easytable 控件的最新注册版?万分感谢!!!
- 我的程序中用了ACTiveX,怎样在其它没有这个ActiveX的机子上运行我这个程序!
- 一个奇怪的问题
- DELPHI基础问题,在线等待回答
- 怎样处理鼠标拖动事件。
- 请帮我分析一下为什么会出现这样的错误提示:Access vidation at address 004a36B2 in modale'**.exe'read of address FFFFFFFF
- 紧急求助 Application.onmessage 如何处理
- 谁有详细的Mapinfo60的中文教程!!!
- 100来谢谢您的帮助:)
a: OleVariant;a := VarArrayCreate([0, 4], varVariant);
a[0] := VarArrayOf([10, 10]);
a[1] := VarArrayOf([10, 70]);
...
a[4] := VarArrayOf([70, 30]);
'10 10 30 30 70
'10 70 30 70 30
dim aa(5,2)aa(0,0) = 10
aa(0,1) = 10
aa(1,0) = 10
aa(1,1) = 70
.
.
.
aa(4,0) = 70
aa(4,1) = 30someObj.function1 aa
%>组件里怎么得到这个数组?要基本原样,比如:
point1(aa[0,0],aa[0,1])
aa[0, 0];
aa[0, 1];
...
在Win32中引入了一新变量Variant,可以通过Variant传递数组。具体的实现方法,用Delphi实现为: Server(COM/DCOM程序)端: procedure TTestDCOM.Send4(Size: Integer; D1: OleVariant);
type
TData=array [0..999] of Byte;
Var
Data:TData;
i:Integer;
begin
for i:=0 to Size-1 do begin
Data[i]:=D1[i];
end;
end;
Cleint端: Var
D1:OleVariant;
begin
D1:=VarArrayCreate([0,99],varByte); {
D1[1]:=45;
.... //将值存入D1中 }
S.Send4(99,D1); //S是TestDCOM对象 end;
在COM服务器端,接口也声明OLE VARIANT类型,这样一来就可以直接传了。