📄 statplugin.~dpr
字号:
library StatPlugIn;
uses
SysUtils,
Forms,
windows,
Classes,
StatFrm in 'StatFrm.pas' {StatForm},
FilterFrm in 'FilterFrm.pas' {FilterForm};
{$R *.res}
procedure StatType(var StatType: Pchar);stdcall;
begin
StatType := '图表';
end;
procedure PlugInName(var PlugInName: Pchar);stdcall;
begin
PlugInName := '诊断设备工作量统计';
end;
procedure PlugInDescribe(var PlugInDescribe: Pchar);stdcall;
begin
PlugInDescribe := '对诊断医生工作量进行统计';
end;
function ShowStatForm(MainForm:TForm):TForm;stdcall;
var
ptr:PLongInt;
begin
ptr:=@(Application.MainForm);//先把dll的MainForm句柄保存起来,也无须释放,只不过是替换一下
ptr^:=LongInt(MainForm);//用主调程序的mainForm替换DLL的MainForm。MainForm是特殊的WINDOW,它专门管理Application中的Forms资源.
//为什么不直接Application.MainForm := mainForm,因为Application.MainForm是只读属性
StatForm:=TStatForm.Create(MainForm);//用参数建立
Result := StatForm;
end;
function ShowFilterForm(MainForm:TForm):TForm;stdcall;
var
ptr:PLongInt;
begin
ptr:=@(Application.MainForm);//先把dll的MainForm句柄保存起来,也无须释放,只不过是替换一下
ptr^:=LongInt(MainForm);//用主调程序的mainForm替换DLL的MainForm。MainForm是特殊的WINDOW,它专门管理Application中的Forms资源.
//为什么不直接Application.MainForm := mainForm,因为Application.MainForm是只读属性
FilterForm:=TFilterForm.Create(MainForm);//用参数建立
Result := FilterForm;
end;
procedure CloseForm();stdcall;
begin
StatForm.Close;
StatForm.Free;
FilterForm.Close;
FilterForm.Free;
end;
exports PlugInName,
PlugInDescribe,
StatType,
ShowStatForm,
ShowFilterForm,
CloseForm;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -