DCom如何传输结构
请问,DCom下,传输一个结构给客户端要如何打包?客户端如何解开? 问题点数:20、回复次数:6Top
1 楼comanche(太可怕)回复于 2006-07-03 12:26:32 得分 20
dcom 就不能传输结构, 不过可以把结构放到一个 Variant 里转输
比方
TFooRec
size: Integer; // 最好有个 size, 版本比较哈
name: string[20];
...
end;
var
v: Variant;
p: Pointer;
foo: TFooRec;
begin
...
v := VarArrayCreate([0, sizeof(TFooRec)], varByte);
p := VarArrayLock(v);
try
move(Foo, p^, sizeof(TFooRec));
finally
VarArrayUnlock(v);
end;
客户机这里 v 就可以用 dcom 送出去了, 服务器也不难吧
end;Top
2 楼zengzhenkun(安卡拉)回复于 2006-07-03 18:21:36 得分 0
服务器端我用这个来取,取不到正确的值?请教这是什么问题?
v := VarArrayCreate([0, sizeof(TFooRec)], varByte);
p := VarArrayLock(v);
try
Move(p^, foo, sizeof(TFooRec));
finally
VarArrayUnlock(v);
end;Top
3 楼Blakhawk(黑鹰)回复于 2006-07-03 21:55:17 得分 0
学习Top
4 楼zengzhenkun(安卡拉)回复于 2006-07-06 19:29:14 得分 0
是我搞错了,已经OK了。Top
5 楼zengzhenkun(安卡拉)回复于 2006-07-06 19:30:43 得分 0
结贴。Top
6 楼zengzhenkun(安卡拉)回复于 2006-07-06 19:38:47 得分 0
结贴。Top




