exceptionpluginu.pas

来自「Jedi Code Library JCL JVCL 组件包 JCL+JVCL超」· PAS 代码 · 共 94 行

PAS
94
字号
unit ExceptionPluginU;


interface


uses

   Windows,

   Messages,

   SysUtils,

   Classes,

   Dialogs,

   Forms,

   StdCtrls,

   ComCtrls,

   JvPlugin;


type


  TuilPlugin1 = class(TJvPlugin)

    procedure uilPlugin1Initialize(Sender: TObject;
      var AllowLoad: Boolean);

  private

    procedure ExceptionHandler(Sender: TObject; E: Exception);

  public

    { Public declarations }

  end;


function RegisterPlugin : TuilPlugin1; stdcall;


implementation


{$R *.DFM}


// IMPORTANT NOTE: If you change the name of the Plugin container,

// you must set the type below to the same type. (Delphi changes

// the declaration, but not the procedure itself. Both the return

// type and the type created must be the same as the declared type above.

function RegisterPlugin : TuilPlugin1;

begin

  Result := TuilPlugin1.Create(nil);

end;


procedure TuilPlugin1.ExceptionHandler(Sender: TObject; E: Exception);
var
   Comp : TComponent;
begin
   Comp := HostApplication.MainForm.FindComponent('Listbox1');
   if Comp <> nil then
      TListBox(Comp).Items.Add(e.message);
end;

procedure TuilPlugin1.uilPlugin1Initialize(Sender: TObject;
  var AllowLoad: Boolean);
var
   Comp : TComponent;
begin
   HostApplication.OnException := ExceptionHandler;
   Comp := HostApplication.MainForm.FindComponent('StatusBar1');
   if Comp <> nil then
      TStatusBar(Comp).SimpleText := 'Exception Handler installed.';
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?