delphi传递字符串信息 WM_COPYDATA 转
delphi的消息机制里,我在一个窗口里通过发送消息(PostMessage)给另一个窗口,那怎么传递字符串信息呢?
delphi的消息机制里,我在一个窗口里通过发送消息(PostMessage)给另一个窗口,那怎么传递字符串信息呢?
必须使用sendMessage.
sendmessage会等待接受消息完成后才继续执行,这样你的str才会被另一个窗口可靠接收。postmessage传递完消息立即返回,这样接收窗口就不一定完全接收当时传递的str.尤其是在局部变量的情况。
而进程间的数据传递好像只有用wm_copydata消息,它可以跨进程拷贝内存。
使用WM_COPYDATA传递.
发送:
Delphi(Pascal)
procedureSendString(strMSG:
var
begin
GetMem(pBuf,
try
finally
end;
end;
接收:
Delphi(Pascal)
procedureWMCopyData(varMSG:
procedureTForm1.WMCopyData(varMSG:
var
end;