我要在自己写的一个组建中定义一个事件,如抛出错误事件,格式如下:
OnError(Number:integer;Description:string)
该如何实现?

解决方案 »

  1.   

    .......//这里是错误捕捉,并得到错误编号与错误信息
    if assigned(OnError) then OnError(ErrCode, ErrMessage);//检察错误处理事件是否付值,如果句柄有效,调用错误处理事件
      

  2.   

    你可以看看VCL中事件的定义,如:OnKeyDown
    一声明类方法指针
      TKeyEvent = procedure(Sender: TObject; var Key: Word;
        Shift: TShiftState) of object;
    二声明指针类型
      FOnKeyDown: TKeyEvent;
    三公布事件
      property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
    四使用事件
      procedure TWinControl.KeyDown(var Key: Word; Shift: TShiftState);
      begin
        if Assigned(FOnKeyDown) then FOnKeyDown(Self, Key, Shift);
      end;