|
From: Peter T. <pe...@us...> - 2003-08-24 01:08:22
|
Update of /cvsroot/jvcl/dev/JVCL3/examples/JvPlugin/4ApplicationHook
In directory sc8-pr-cvs1:/tmp/cvs-serv4702/JVCL3/examples/JvPlugin/4ApplicationHook
Added Files:
ExceptionPlugInDemo.dof ExceptionPlugInDemo.dpr
ExceptionPlugInDemo.res ExceptionPlugin.dof
ExceptionPlugin.dpr ExceptionPluginU.dfm ExceptionPluginU.pas
HookApplicationDemo.bpg PlugInDemoU.dfm PlugInDemoU.pas
Log Message:
- Copied jvcl/devtools and jvcl/examples dev/JVCL3
- Copied JVCLConvert *.dat files to dev/JVCL3/converter
--- NEW FILE: ExceptionPlugInDemo.dof ---
[Directories]
OutputDir=..\..\..\Bin
UnitOutputDir=..\..\..\Dcu
SearchPath=..\..\..\Source;..\..\..\Common
--- NEW FILE: ExceptionPlugInDemo.dpr ---
program ExceptionPlugInDemo;
uses
ShareMem,
Forms,
PlugInDemoU in 'PlugInDemoU.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
--- NEW FILE: ExceptionPlugInDemo.res ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: ExceptionPlugin.dof ---
[Directories]
OutputDir=..\..\..\Bin
UnitOutputDir=..\..\..\Dcu
SearchPath=..\..\..\Source;..\..\..\Common
--- NEW FILE: ExceptionPlugin.dpr ---
library ExceptionPlugin;
uses
ShareMem,
ExceptionPluginU in 'ExceptionPluginU.pas' {uilPlugin1: TJvPlugin};
exports
RegisterPlugin;
begin
end.
--- NEW FILE: ExceptionPluginU.dfm ---
object uilPlugin1: TuilPlugin1
OldCreateOrder = False
Author = 'Tim Sullivan'
Commands = <>
Copyright = '(c) 1999, Unlimited Intelligence Limited'
OnInitialize = uilPlugin1Initialize
Left = 227
Top = 147
Height = 150
Width = 215
end
--- NEW FILE: ExceptionPluginU.pas ---
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.
--- NEW FILE: HookApplicationDemo.bpg ---
#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = ExceptionPlugin.dll ExceptionPlugInDemo.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
ExceptionPlugInDemo.exe: ExceptionPlugInDemo.dpr
$(DCC)
ExceptionPlugin.dll: ExceptionPlugin.dpr
$(DCC)
--- NEW FILE: PlugInDemoU.dfm ---
object Form1: TForm1
Left = 332
Top = 165
Width = 414
Height = 284
Caption = 'Sample Plugin Host Application'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
Position = poScreenCenter
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 406
Height = 29
Align = alTop
ParentShowHint = False
ShowHint = True
TabOrder = 0
end
object StatusBar1: TStatusBar
Left = 0
Top = 219
Width = 406
Height = 19
Panels = <>
SimplePanel = True
end
object ListBox1: TListBox
Left = 4
Top = 36
Width = 397
Height = 177
ItemHeight = 13
TabOrder = 2
end
object uilPluginManager: TJvPluginManager
Extension = 'dll'
PluginKind = plgDLL
Left = 44
Top = 44
end
object MainMenu1: TMainMenu
Left = 16
Top = 44
object File1: TMenuItem
Caption = '&File'
object Exit1: TMenuItem
Caption = 'E&xit'
OnClick = Exit1Click
end
end
object Plugin1: TMenuItem
Caption = '&Plug-in'
object GenerateExecption1: TMenuItem
Caption = 'Generate Exception'
OnClick = GenerateExecption1Click
end
end
object Help1: TMenuItem
Caption = '&Help'
object About1: TMenuItem
Caption = '&About...'
OnClick = About1Click
end
end
end
end
--- NEW FILE: PlugInDemoU.pas ---
unit PlugInDemoU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
JvPluginMan, StdCtrls, Buttons, Menus, ExtCtrls, ImgList, ComCtrls,
JvComponent;
type
TForm1 = class(TForm)
uilPluginManager: TJvPluginManager;
MainMenu1: TMainMenu;
Plugin1: TMenuItem;
Panel1: TPanel;
File1: TMenuItem;
Exit1: TMenuItem;
Help1: TMenuItem;
About1: TMenuItem;
GenerateExecption1: TMenuItem;
StatusBar1: TStatusBar;
ListBox1: TListBox;
procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure GenerateExecption1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
NumButtons : integer;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.About1Click(Sender: TObject);
begin
ShowMessage('A simple host application for demoing JEDI plug-ins.'#13#10#13#10'(c) 1999, Unlimited Intelligence Limited.');
end;
procedure TForm1.GenerateExecption1Click(Sender: TObject);
begin
raise Exception.Create('This is an exception generated by the application');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
uilPluginManager.LoadPlugins;
end;
end.
|