delphi使用消息传递字符串有三种方式可以实现:
1、直接传递,但只能传递给同进程的窗口,无法实现跨进程的消息传递
传递消息:
var
Str: String;
begin
Str := 'some string';
PostMessage(Handle, 0, 0, Integer(Str));
end;
接收消息:
var
Str: String;
begin
Str := String(Msg.LParam);
ShowMessage(Str);
end;
2、如果线程之间传递可以使用PostThreadMessage传递,PostThreadMessage是该函数将一个消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回。
传递消息:
Procedure TThread1.Execute;
var
sMes:String;
pMes:^String;
iTemp:Integer;
begin
sMes:=’Test’;
New(pMes);
pMes^:=sMes;
PostThreadMessage(thread2.ThreadID,WM_StartRecording,Integer(pMes),0);
iTemp:=111;
PostThreadMessage(thread2.ThreadID,WM_OriginalData,iTemp,0);
end;
接收消息:
procedure TThread2.

本文介绍了Delphi中实现字符串消息传递的三种方式:1) 直接传递,适用于同进程窗口间;2) 使用PostThreadMessage进行线程间的传递,支持跨进程;3) 如何通过PostThreadMessage传递StringList。详细阐述了传递和接收消息的代码示例。
最低0.47元/天 解锁文章
2228

被折叠的 条评论
为什么被折叠?



