在远程调用的函数中传递Bitmap图片变量行不行呢?该用什么变量类型啊?(100分)

  • 主题发起人 主题发起人 nhuangjr
  • 开始时间 开始时间
N

nhuangjr

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在函数中传递Bitmap图片到服务器端,并在服务器端进行处理,函数的原型该怎么定义呢?
 
函数中传递图片到服务器:
使用clientsocket传输图像数据(流式传输),serversocket服务器端接收
 
我知道这种方式是可以,但觉得麻烦
我是希望直接以参数的形式传递过去,这样用起来比较方便
 
流式傳遞最好用的了...
 
要是想用流式传输我就不用在这里提问了,检索一下就可以找到答案
问题是我想用参数传递的方式!!!这种方式更简单好用吧!!!
 
还可以用这个 OleVariant ,不过使用的时候要用 Tstream 转换一下
 
对啊!!!我也想到了要用OleVariant 了
不过今天搞了一整天都搞不定啊
Tstream 跟 OleVariant 怎么转换呢?!
高手能不能说得具体一些啊???
 
唉,想不到那么少人回答问题!
不过,已经自己搞定了
procedure VariantToStream(const Data: OleVariant;
Stream: TStream);
var
p: Pointer;
begin

p := VarArrayLock(Data);
try
Stream.Write(p^, VarArrayHighBound(Data,1) + 1);

finally
VarArrayUnlock(Data);
end;

end;

function StreamToVariant(Stream: TStream): OleVariant;
var
p: Pointer;
begin

Result := VarArrayCreate([0, Stream.Size - 1], varByte);
p := VarArrayLock(Result);
try
Stream.Position := 0;

Stream.Read(p^, Stream.Size);
finally
VarArrayUnlock(Result);
end;

end;
 
后退
顶部