注意事项:
在消息上有一个Name的属性,注册消息处理对象时候同样需要提供一个Name,只有这两者匹配才可以处理,也就是说,同样的消息类,可以通过不同的Name来定义多个消息对象,对应多个不同的消息处理对象
在消息处理函数中,Handled表示是否已处理这个消息,如果没有就传递到下一个消息处理对象来处理。
----摘自alang的帖子
procedure TMyMessageHandler.DoExecute(AMessage: TBizMessage; const AParam: THandleParam;
var Handled: Boolean);
begin
if AMessage is TMyMessage then
begin
FMemo.Lines.Add((AMessage as TMyMessage).msg);
Handled := True; ///////////////////写成false
------------接收端
procedure TMainForm.BizFormDestroy(Sender: TObject);
begin
if Assigned(lmh) then
lmh.Free;
end;
---------发送端
var
lMsg: TMyMessage;
begin
lMsg := TMyMessage.Create(Edit1.Text);
BizSys.GlobalContext.SendMessage(lMsg);
lMsg.Free;
end;