关于dll封装mdi子窗体 第二帖!!! 爽! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主程序的工程文件:program Main;uses Forms,controls, UFmMain in 'UFmMain.pas' {FmMain}, ULogin in 'ULogin.pas' {DlgLogin};{$R *.res}begin Application.Initialize; Application.CreateForm(TFmMain, FmMain); Application.Run;end.Dll的工程文件library Dll1; uses SysUtils,Forms, Classes, UFmDll in 'UFmDll.pas' {fmDll};{$R *.res}procedure ShowDllForm(pMainApp:Pointer);export; stdcall;var pForm:^TForm;begin Application.Handle:=TApplication(Pointer(pMainApp^)).Handle; pForm:[email protected]; pForm^:= TApplication(Pointer(pMainApp^)).MainForm; fmDll:=TfmDll.Create(nil); fmDll.FormStyle:=fsMDIChild;// fmDll.WindowState := wsMaximized; fmDll.Show;end;procedure Activate;stdcall;begin if Assigned(fmDll) then fmDll.BringToFront;end;procedure DLLUnloadProc(Reason: Integer); register;begin if Reason = 0 then begin Application.CancelHint; application.Handle := 0; if Assigned(fmDll) then FreeAndNil(fmDll); end;end;exports ShowDllForm,Activate;begin DLLProc := @DLLUnloadProc;end. 有个问题,这样做了子窗口是显示出来了,但,有没有发现,子窗口接收不到TAB键,即一按TAB就跑到主程序中去了,而在主程序中生成的子窗口是可以得到TAB键的。如何解决??????? 谁有delphi的这款插件,借来一用 关于‘DateTimePicker’控件的使用 Delphi / C++ Builder 持久对象 (程序对DFM文件读写) 500分求高手 请教些小问题~ MM程序员请进来。 急用————谁能提供李维的高效数据库程序设计中的示例数据库文件 sql中null值的讨论 一个简单数据库问题 java 擅长的部分 linux 最新的版本都有哪些?常用的有哪些? VB中的GetPortVal函数,DELPHI是什么。关于判断打印机状态的函数 这年头,散分比接分的人多,俺也跟跟潮流
program Main;uses
Forms,controls,
UFmMain in 'UFmMain.pas' {FmMain},
ULogin in 'ULogin.pas' {DlgLogin};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TFmMain, FmMain);
Application.Run;
end.Dll的工程文件
library Dll1; uses
SysUtils,Forms,
Classes,
UFmDll in 'UFmDll.pas' {fmDll};{$R *.res}
procedure ShowDllForm(pMainApp:Pointer);export; stdcall;
var
pForm:^TForm;
begin
Application.Handle:=TApplication(Pointer(pMainApp^)).Handle;
pForm:[email protected];
pForm^:= TApplication(Pointer(pMainApp^)).MainForm;
fmDll:=TfmDll.Create(nil); fmDll.FormStyle:=fsMDIChild;
// fmDll.WindowState := wsMaximized;
fmDll.Show;
end;
procedure Activate;stdcall;
begin
if Assigned(fmDll) then fmDll.BringToFront;
end;procedure DLLUnloadProc(Reason: Integer); register;
begin
if Reason = 0 then
begin
Application.CancelHint;
application.Handle := 0;
if Assigned(fmDll) then FreeAndNil(fmDll);
end;
end;exports ShowDllForm,Activate;
begin
DLLProc := @DLLUnloadProc;
end.
如何解决???????