您的位置:首页 > 编程语言 > Delphi

delphi下不同线程发送字符串示例

2012-11-08 17:30 218 查看
不同线程之间发送字符串主要是通过copydata方法。

子线程发送:

var
cdds : TCopyDataStruct;
begin
cdds.dwData := 0;
cdds.cbData := Length(s) + 1;
GetMem (cdds.lpData, cdds.cbData ); //为传递的数据区分配内存
StrCopy (cdds.lpData, PChar (s));
SendMessage( TForm( FAOwner ).Handle , WM_COPYDATA , 0 , Cardinal( @cdds ) );

end;


主线程接受消息,函数定义如下:

procedure ShowNewForm( var Msg : TMessage ); message WM_COPYDATA;


函数实现:
var
cdds : TcopyDataStruct;
begin

cdds := PcopyDataStruct( Msg.LParam )^;
sData := ( Pchar( cdds.lpData ) );
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  delphi 多线程 字符串