zoukankan      html  css  js  c++  java
  • 消息分发

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
      TMsgRecord = record
        MsgID1: Integer;
        MsgID2: Integer;
        MsgName: string[15];
        MsgDesc: string[27];
      end;
    
      TMsgHandleClass = class
      private
        procedure SM_Message1(var MsgRec: TMsgRecord); message 2000;
        procedure SM_Message2(var MsgRec: TMsgRecord); message 2001;
        procedure SM_Message3(var MsgRec: TMsgRecord); message 2002;
      public
        procedure DefaultHandler(var Message); override;
      end;
    
    
    var
      Form1: TForm1;
      MsgObject: TMsgHandleClass;
    
    implementation
    
    {$R *.dfm}
    
    { TMsgHandleClass }
    
    procedure TMsgHandleClass.DefaultHandler(var Message);
    begin
      inherited;
      ShowMessage('DefaultHandler: ');
    end;
    
    procedure TMsgHandleClass.SM_Message1(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2000');
    end;
    
    procedure TMsgHandleClass.SM_Message2(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2001');
    end;
    
    procedure TMsgHandleClass.SM_Message3(var MsgRec: TMsgRecord);
    begin
      ShowMessage('2002');
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      MyMsg: TMsgRecord;
    begin
      FillChar(MyMsg, SizeOf(TMsgRecord), 0);
      MyMsg.MsgID1 := 2001;
      MyMsg.MsgID2 := 2000;
      MyMsg.MsgName := '2000消息';
      MyMsg.MsgDesc := '这是消息号为2000的消息';
      MsgObject.Dispatch(MyMsg);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      MsgObject := TMsgHandleClass.Create;
    end;
    
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
      MsgObject.Free;
      MsgObject := nil;
    end;
    
    end.
    

      

  • 相关阅读:
    LAMP
    监控和安全运维 1.8 zabbix服务端安装
    监控和安全运维 1.7 nagios配置邮件告警
    易道用车-拿什么说爱你
    unix exec族函数 关于参数的疑惑
    关于 Unix 用户权限及进程权限及 Saved set-user-id
    ANSI C中关于FILE流的一些
    Filco minila 的蛋疼。
    IIS32位,64位模式下切换
    Gvim+Emmet.vim 那些事。
  • 原文地址:https://www.cnblogs.com/devinblog/p/5523322.html
Copyright © 2011-2022 走看看