Delph EXE 转DLL
1.生成或打开工程文件(.DPR)
2.选择VIEW菜单的 Project Manager 子菜单,选中PROJECTGROUP,点击NEW按纽新建一个.dll文件;
3.存盘,改变工程组和.DLL文件的名称,存盘成功后到目前为止已经生成了一个工程组,这个组由.dll和.exe组成;
4.把EXE工程文件中的所有.pas文件加入到DLL工程中:点击工具栏上的此按纽 。
5..打开工程组文件可,选择VIEW-->Project Manager 子菜单,选中.exe文件或.dll文件点击active,可互相切换。
6.打开.dll,选择菜单project-->View Source,生成EXPERT函数:(红色字为手工输入的部分)供外部程序调用。
library Pro_simk_kkgl_dll;
uses
SysUtils,
Classes,
Forms,
simk_kkgl in 'simk_kkgl.pas' {Form_kkgl};
{$R *.RES}
function fun_name(formpointer:pointer):integer;
begin
Application.CreateForm(Tkglform,kglform);//创建自己的模块窗体
mainf := formpointer;
kglForm.free;
result := 0;
end;
exports fun_name;//定义出口函数
begin
end.
说明:
1)
maif是一个在DLL工程中定义的一个全局的指针,指向公共的窗口
mainf:^Tpublicform; publicform中有公共的函数或参数,可以通过
mainf ^ . 调用;如:mainf ^.Czygh(得到操作员工号)
2)
开发调试过程中,需要公共窗口提供的所有参数,要在EXE工程文件中(不要定义在。Pas文件中)赋好初值:
例如:
program Pro_simk_kkgl;
uses
Forms,
simk_kkgl in 'simk_kkgl.pas' {Form_kkgl},
mypubfun in '../ mypubfun.pas' {Form1},
mypubfuc in '../ mypubfuc.pas',
pubfunc in '../pubfunc.pas' {Form_pubfunc};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm_kkgl, Form_kkgl);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm_pubfunc, Form_pubfunc);
mainf := @Form_pubfunc;
mainf^.czygh := 'exetext';
Application.Run;
end.
即可运行调试程序。
希望以上能对你们有帮助.
Delph EXE 转DLL相关推荐
- 使用ILmerge合并Exe、Dll文件的帮助类
http://blog.csdn.net/pukuimin1226/article/details/7841741 using System; using System.Collections.Gen ...
- .net Reactor之exe、dll文件混淆
.net Reactor之exe.dll文件混淆 .net Reactor的主要功能: 1.是对dll文件.exe文件进行反编译混淆 2.对dll进行内部加锁,限制其使用的固定机器.固定时间.部署次数 ...
- 随想录(exe和dll的相互调用)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 有一种编程方法,就是需要在exe和dll之间进行相互调用.比如整个软件的功能都是比较简单的,大部 ...
- Unhandled exception in al.exe(KERNELBASE.DLL):0xE06D7363:Microsoft C++Exception
问题描述: 出现Unhandled exception in al.exe(KERNELBASE.DLL):0xE06D7363:Microsoft C++Exception*****,对话框并出现下 ...
- 关于错误 Unhandled exception in .exe (Kernel32.dll): 0xE06D7363
这两天遇到一个奇怪的问题:ado 编程 使用 _RecordsetPtr 类的 Update() 方法,更新一条记录非常不稳定, 有时候能成功更新有时候就不能 错误信息也无法捕获 直接给我来一个 Un ...
- 讹传的Win7睡眠(待机)快捷方式“rundll32.exe powrprof.dll,SetSuspendState 0,1,0”
1,SetSuspendState不是为rundll32设计的.无法仅用一行rundll32睡眠.可以先取消休眠选项--,那是另话. 2,想仅用一行rundll32休眠,如下即可,不必带参数. run ...
- 主题:EXE + BPL + DLL + Interface实现插件式客户端解决方案
时间:2005-02-25(星期五) 15:00(下午三点) 主题:浅谈怎样利用EXE + BPL + DLL + Interface实现插件式客户端解决方案 地点:群号:5726882(煮茶待英雄会 ...
- 将exe和dll文件打包成单一的启动文件
将exe和dll文件打包成单一的启动文件 当我们用 VS 或其它编程工具生成了可执行exe要运行它必须要保证其目录下有一大堆dll库文件,看起来很不爽,用专业的安装程序生成软件又显得繁琐,下面这个 ...
- anymie360.exe,anymie360.dll,b770ca2.sys,Beep.sys,msiffei.sys等1
anymie360.exe,anymie360.dll,b770ca2.sys,Beep.sys,msiffei.sys等1 endurer 原创 2009-02-04 第1版 一位网友新装了系统,没 ...
最新文章
- html5怎么实现自动缩放图片,如图,html5开发的手机端web在线客服聊天,如何实现图片点击放大,捏合缩放功能?...
- Spring-AOP @AspectJ切点函数之target()和this()
- windows下设置socket的connect超时
- 什么时候加上android.intent.category.DEFAULT和LAUNCHER
- Linux命令 - 帮助命令 man
- 云服务器开启TCP Server 客户端无法连接的解决方法
- kotlin键值对数组_Kotlin程序检查数组是否包含给定值
- 信息安全工程师笔记-RSA密码
- 相亲之战,以少胜多乎?
- python如何开发一个程序思路_用python编写一个合格的ftp程序,思路是怎样的?
- css的鼠标手势大全
- 微信公众号首次关注自动回复图文信息
- python求反余弦_python 反余弦
- html文档在word打开是乱码怎么解决,word打开是乱码怎么办?怎么解决
- Nginx 安装部署以及负载均衡
- 运营简史:互联网运营的20年发展与演变
- 神舟Z7-KP7SC笔记本电脑-游戏实机帧数截图与鲁大师跑分
- 查询用户连续登录的天数
- 两个服务共用一个微信支付
- 使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件