📄 umain.pas
字号:
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, upkDMIntr;
type
TForm1 = class(TForm)
btGetForm: TButton;
Memo1: TMemo;
btGetConnection: TButton;
Memo2: TMemo;
btGetClass: TButton;
Memo3: TMemo;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
procedure btGetClassClick(Sender: TObject);
procedure btGetFormClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btGetConnectionClick(Sender: TObject);
private
{ Private declarations }
FpkHandle: THandle;
FDM: IpkDM;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
upkClassIntr;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
FpkHandle := LoadPackage('demo.bpl');
if FpkHandle = 0 then
ShowMessage('Can not load package Demo.bpl');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ADOQuery1.Connection := nil;
FDM := nil;
if FpkHandle <> 0 then
UnloadPackage(FpkHandle);
end;
procedure TForm1.btGetClassClick(Sender: TObject);
var
AMan: IMan;
AClass: TComponentClass;
begin
if FpkHandle <> 0 then
begin
AClass := TComponentClass(GetClass('TMan'));
if AClass <> nil then
begin
AMan := AClass.Create(nil) as IMan;
AMan.SayHello('hello');
AMan := nil;
end;
end;
end;
procedure TForm1.btGetFormClick(Sender: TObject);
var
AForm: TForm;
AClass: TComponentClass;
begin
if FpkHandle <> 0 then
begin
AClass := TComponentClass(GetClass('TpkfrmTest'));
if AClass <> nil then
begin
AForm := AClass.Create(nil) as TForm;
AForm.ShowModal;
AForm.Free;
end;
end;
end;
procedure TForm1.btGetConnectionClick(Sender: TObject);
var
AClass: TComponentClass;
begin
if FpkHandle <> 0 then
begin
AClass := TComponentClass(GetClass('TpkDM'));
if AClass <> nil then
begin
FDM := AClass.Create(nil) as IPkDM;
ADOQuery1.Close;
ADOQuery1.Connection := FDM.GetConnection;
ADOQuery1.Open;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -