通过消息可以在不同窗体、进程、线程间进行消息传递,能够解决很多问题,相当实用。如何通过消息传递字符串信息呢?其实我们可以通过一些变通的方法,用PChar的方式进行传递。
自定义消息
const
WM_USERMSG = WM_USER +$100;
然后通过postmessage 或 sendmessage的方法发消息。关于postmessage和sendmessage的区别,请参考其它资料。
发消息:
var
str: String;
begin
str := 'Hello World!';
sendmessage(handle, WM_USERMSG, 0, Integer(PChar(str)));
end;
接收:
procedure WMRESULTMSG(var Message: TMessage); message WM_RESULTMSG;
begin
showmessage(PChar(Message.LParam));
end;