procedure CatchWMCOPYDATA(var Msg:WMCOPYDATA);message WM_COPYDATA;
.......procedure CatchWMCOPYDATA(var Msg:WMCOPYDATA);
begin
if Msg.Code=.... then
....
end;
.......procedure CatchWMCOPYDATA(var Msg:WMCOPYDATA);
begin
if Msg.Code=.... then
....
end;
CatchWMCOPYDATA(var Msg:WMCOPYDATA);message WM_COPYDATA;
这样的申明来接受消息,原因很简单,Application对象建立了一个不可见的窗口处理了,而且它控制了消息循环,他建立的机制可以使得消息被正确的发送。但是,在DLL中他不知道主程序是谁,他当然不知道,因为他又不是只是被Delphi开发的程序调用。所以请你手工建立一个窗口来接受这个消息,当然如果你的DLL中使用了TControl继承的对象,那么在这个对象中使用上述的申明也是同样可以获得消息的。