在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;
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;
解决方案 »
- 求一种C#和DELPHI XE互解的加密算法
- delphi7.0应用程序中如何调用C#.NET2005编写的动态库
- adoquery2怎么样将adoquery1作为自己的输入集合?
- 如何获得媒体文件的后缀名
- 在delphi裡的dbgrid中,如何插入可視控件!下面有源代源,可就是不出現可視框,幫我解解!
- 如何在指定路径下调用指定文件名的帮助文件?
- 灌水灌得差点忘了问问题~进来的有分。
- VarClear()怎么用啊??真是烦死了!!!!!!!!!
- TeeChart中,怎么把实际坐标转换为屏幕坐标?
- 只要对http://www.csdn.net/expert/topic/205/205637.shtm发表评论,均给10分
- 加急,关于DELPHI+SQLSERVER的
- 怎样在程序中实现关闭NT,WINDOWS2000?
我的分布式结构:
客户端----->服务端--->(VB的Dll)--->数据库
客户端申请得到记录并显示(最后记录集是由DLL产生的ADO.Recordset)。现在我不能很好的控制得到记录由DLL--->服务端--->客户端,也就是说,在这当中都要经过不同的类型转换,
请哪位大侠指点一二??
感谢。