delphi 在DLL中添加窗体.
2020-02-16 14:03
441 查看
方案一:
在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文件.
转载于:https://www.cnblogs.com/Mckk/p/5272648.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 关于DELPHI2010 安装GLScene V1.2的相关总结!
- DELPHI 异常处理
- delphi传递与复制对象(DELPHI5从入门到精通75页)
- 关于delphi制作安装文件的问题!急,急,急!
- 请教关于Delphi 开发使用报表
- Delphi全局变量带来的问题
- Delphi中出现小问题及处理
- 有关 delphi7读取 excel 报错EoleException with message '未找到提供程序,该程序可能未能正确安装' 解决方式
- delphi7+ado+sqlsever2008数据库软件发布打包些什么东,还有人用delphi 么,求好友
- 【逆向】Delphi程序逆向之熊猫烧香病毒分析
- delphi下的编程
- Delphi结构类型包含String字符串使用需要注意的地方
- 第一个Delphi7.0 图形界面程序:显示唐诗静夜思
- Delphi里面的TCriticalSection对象的用法(如何使用锁)
- 在DELPHI程序中自动设置ODBC数据源
- delphi下ado连接vfp数据表的常用方法
- Delphi下DLL编程知识(转)
- Delphi 7中的四种消息框
- Delphi备忘录——基本语句
- 几个获取Windows系统信息的Delphi程序