DCOM如何与Midas服务器互传如TStringList,Record类型的数据?(50分)

  • 主题发起人 主题发起人 zfine
  • 开始时间 开始时间
前几天有人建议封装到流里面
再转换为variant型
例如传一个string
Code:=CodeEdit.Text;
len:=Length(Code);
p:=Addr(len);
TempStream.Write(p^,SizeOf(i));
//写入流:串长度
for i:=1 to lendo
begin
ch:=Code;
p:=Addr(ch);
TempStream.Write(p^,SizeOf(AnsiChar));
//写入流
end;
TempStream.Position := 0;
Param:=VarArrayCreate([0, TempStream.Size - 1], varByte);
p := VarArrayLock(Param);
try
TempStream.Position := 0;
TempStream.Read(p^, TempStream.Size);
//流转换
finally
VarArrayUnlock(Param);
end;
TempStream.Clear;
DcomConnection.AppServer.BrokerInterface(Param);
//调用远程方法
当然在服务端也需要用相同方法读
 
怎么样将一个自定义的Record转换成流?谢谢
 
定义一个varArray
把你的record的各个元素放在varArray里面
到了另外一端的时候,把元素从varArray取出,组织成为record
 
我很赞同Infowain的做法,既然是有关DCOM的,不要忘记Variant带给你的方便和安全性,
更不要杞人忧天的担心速度问题了
 
我很菜,能不能说详细一点?谢谢各位!
 
多人接受答案了。
 
后退
顶部