下面程序为啥收不到消息呢
////////xxx.DLL///////
const MyMessage =wm_user+100;
type
TMyMessage=record
s1:pchar;
s2:pchar;
end;
procedure xxx(); stdcall;
var
MyMsg:^TMyMessage;
begin
New(MyMsg);
MyMsg.s1:='dsjfh';
MyMsg.s2:='dsfjl';
SendMessage(HWND_BROADCAST,MyMessage,123,0);
end;
//////////应用程序/////////
const MyMessage =wm_user+100;
type
TMyMessage=record
s1:pchar;
s2:pchar;
end; private
procedure DecodedDataMessage(var msg:TMessage);message MyMessage;procedure TForm1.DecodedDataMessage(var msg: TMessage);
var
MyMsg:^TMyMessage;
begin
MyMsg:=Pointer(msg.WParam);
showmessage('s1='+MyMsg.s1+' s2='+MyMsg.s2);
Dispose(MyMsg);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
XXX();
end;
////////xxx.DLL///////
const MyMessage =wm_user+100;
type
TMyMessage=record
s1:pchar;
s2:pchar;
end;
procedure xxx(); stdcall;
var
MyMsg:^TMyMessage;
begin
New(MyMsg);
MyMsg.s1:='dsjfh';
MyMsg.s2:='dsfjl';
SendMessage(HWND_BROADCAST,MyMessage,123,0);
end;
//////////应用程序/////////
const MyMessage =wm_user+100;
type
TMyMessage=record
s1:pchar;
s2:pchar;
end; private
procedure DecodedDataMessage(var msg:TMessage);message MyMessage;procedure TForm1.DecodedDataMessage(var msg: TMessage);
var
MyMsg:^TMyMessage;
begin
MyMsg:=Pointer(msg.WParam);
showmessage('s1='+MyMsg.s1+' s2='+MyMsg.s2);
Dispose(MyMsg);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
XXX();
end;
New和Dispose尽量放到同一过程。。