当前位置:主页>销售管理软件> 列表

TSocketConnection进行数据块的交换 找个人记账软件下载

库存管理软件版1楼: 通过TSocketConnection开发三层结构软件,程序中,有必要在客/服间进行一些非数据库的数据包交换,我应该怎么做呢,找变遍了都没有这方面的例子,大虾们帮帮我吧

2楼: 作服务器的时候可以多定义一些方法(在Type Library中)。这些方法可以接受或返回OleVariant。在调用的时候只要var0 := SocketConnection1.AppServer.MyMethod(var1);就可以了。 如个人记账软件下载

3楼: 帮顶!

╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯

4楼: 谢谢硕鼠,我也知道这个道理,但现在我就是不知怎样用这个OleVariant,能不能给个简单的例子?

5楼: OleVariant是一种非常好用的东西。
可以直接向它负值(各种简单数据类型)。
可以存放数组(VarArrayCreate)。

另外附送一段简单的小程序:

procedure TForm1.VariantToStream (const v : olevariant; Stream : TMemoryStream);
var
p : pointer;


begin
Stream.Position := 0;
Stream.Size := VarArrayHighBound (v, 1) - VarArrayLowBound (v, 1) + 1;
p := VarArrayLock (v);
Stream.Write (p^, Stream.Size);
VarArrayUnlock (v);
Stream.Position := 0;
end;

procedure TForm1.StreamToVariant (Stream : TMemoryStream; var v : OleVariant);
var
p : pointer;
begin
v := VarArrayCreate ([0, Stream.Size - 1], varByte);
p := VarArrayLock (v);
Stream.Position := 0;
Stream.Read (p^, Stream.Size);
VarArrayUnlock (v);
end;

6楼: 解决了,谢谢