TMyBlock=record
m_username:string[10];
m_stream:TStream;
end;
为什么不能传输呀
m_username:string[10];
m_stream:TStream;
end;
为什么不能传输呀
解决方案 »
- Delphi有没有这样的时间编辑控件?
- 多线程 怎么在子线程中触发主线程创建窗体
- 如何对 查找字段 进行排序?
- 关于FORM显示问题
- 前人留下的程序,有个地方不明白,高手帮忙看看!
- 在线升级问题 -- 急!!
- if (s='RGF') or (s='CLF') or (s='JXF') THEN 能改为类似if s in ['RGF','CLF','JXF']的吗?
- 高手请进…………………………………………………………………………20
- 求各种可以图标 各位大虾帮帮忙!
- 请问在Delphi中能够实现 Object Inspector 的功能呢?
- dbe的问题,急
- [收祝福] 祈祷本命年能顺顺利利。并提前祝大家新年快乐
TMyBlock=record
m_username:string[10];
m_stream:tmemorystream;//tstream;也是可行的啊。
end;
var
Stream: TStream;
MyBlock:TMyBlock;
begin
Stream:=TStream.Create;
MyBlock.m_username:='brucelee';
try
if VideoWindow.VMRGetBitmap(Stream) then
begin
image.Picture.Bitmap.LoadFromStream(Stream);
MyBlock.m_stream:=Stream;
end;
Grabber.GetBitmap(Image1.Picture.Bitmap);
finally
Stream.Free;
end; if ConnectForm.TCPClient.Connected then
begin
try
ConnectForm.TCPClient.WriteBuffer(MyBlock,SizeOf(MyBlock),true);
except
end;
end;
end;
服务端:
procedure TServerForm.TCPServerExecute(AThread: TIdPeerThread);
var
jpg: TJpegImage;
MyBlock:TMyBlock;
getstream:TStream;
begin
if AThread.Connection.Connected and not AThread.Terminated then
begin
getstream:=TStream.Create;
AThread.Connection.ReadBuffer(MyBlock,SizeOf(MyBlock));
listbox1.Items.Add(MyBlock.m_username);
getstream.CopyFrom(MyBlock.m_stream,SizeOf(MyBlock.m_stream));
getstream.Position:=0;
jpg := TJpegImage.Create;
jpg.LoadFromStream(getstream);
Image.Picture.Bitmap.Assign(jpg);
jpg.Free;
getstream.Free;
end;
end;
为什么服务端收不到?