设为首页 加入收藏

TOP

delphi 在DLL中添加窗体.
2017-10-10 12:06:37 】 浏览:5718
Tags:delphi DLL 添加 窗体

方案一:

  在DLL工程中新建一个FORM窗体.在窗体中加入如下代码:

  1.首先需要再 implementation 之前声明下以下函数.

 1  procedure SynApp(App:THandle);stdcall;
 2 
 3    begin
 4 
 5     Application.Handle := App ;   
 6 
 7    end;
 8 
 9 
10   Procedure ShowForm;stdcall ;
11 
12   begin
13 
14     MainForm := TMainForm.Create(Application);
15 
16     MainForm.show ;
17 
18   end;

 

  2.在DLL文件中导出表写入:

  

1 exports 
2 
3   SynApp,
4 
5   ShowForm;

 

  3.让窗口显示需要传入进程句柄.

1 SynApp(Application.Handle);
2 
3   ShowForm;

 

  完成.

方案二.此方案来自郁金香老师.

  1.新建DLL.在DLL文件中添加一个FORM.

  先在DLL文件中添加如下关键代码:

  

 1 if Form1 = nil then begin Form1.:= TForm1.Create(nil);
 2 
 3   Form1.Visable: = not From1.Visable ;
 4 
 5   end;
 6 
 7       //但是这样子会有问题..如果卸载这个DLL的时候,相应的程序也会跟着退出.
 8 
 9   //所以必须写一个加载卸载处理函数
10 
11   procedure DllEnterProc(reason:integer);
12 
13   begin
14 
15     case reason of
16 
17     windows.DLL_PROCESS_ATTACH: begin end;
18 
19     windows.DLL_PROCESS_DETACH:begin Form1.Free;Form1.nil; end;
20 
21   end;
22 
23   

  在最后一个end.  之前添加如下关键代码:

  

1 dllProc:=@DllEnterProc ;

 

  完成..这样既可创建含有窗体的DLL文件.

 

  

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Firemonkey 指定 StringGrid 只能.. 下一篇Delphi XE10在 Android下调用静态..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目