delphi里如何使用SendMessage发送字符串?
1个回答
展开全部
其中MyId是要返回的字符串
在主窗口中使用如下代码:
先在public中加入消息函数的声明Delphi代码procedureWMTestEnd(var
AMsg:TMessage);message
WM_TEST_END;//消息函数
其中WM_TEST_END是自定义的消息
再在implementation写函数Delphi代码procedureTForm1.WMTestEnd(var
AMsg:TMessage);vars:string;begin
s:=string(Pointer(AMsg.wParam)^);
Memo1.Lines.Add(s);end;
需要注意的是,如果你在线程中,一定要使用SendMessage来发送消息,如果使用PostMessage会出错。原因我想是因为
PostMessage发送消息后线程会继续执行下去,当主窗口收到这个消息并处理时,线程可能已经结束了,这时指向字符串的那个指针就会出错;而
SendMessage发送消息后会将线程挂起,直到消息处理完成后,才继续执行下面代码。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询