在project/options/packages中选择Build with runtime packages即可。
解决方案 »
- 打印时如何将内容在MEMO中居中?
- 请问大家一个很基础的问题!!
- 关于fastreport动态更新的问题
- lookup字段和DBGrid的综合运用
- 大虾:高分求教一个多线程处理的问题
- access中表名这个问题怎么解决呀?
- 我把图片放大了http://www.bwkj.net/bios/studywebwen1.htm
- 请问如何锁定一个窗口?
- 有关李维的《Delphi 5.x ADO/MTS/COM+ 高级程序设计篇》中范例以及Parameters属性的若干问题!
- ADODataSet错误,指定的初始化字符串不符合OLE DB规定
- 如何获取指定网段所有存在的IP呢?(编程实现)/N
- 背景是位图的情况下,如何实现TGroupBox透明效果?
不同,具体请看delphi的帮助deploying your program.
2 如果你的很多Dll都要执行同样的操作,为何不写成1个Dll?
3 如果一定要生成多个Dll,不妨把多个Dll公用Application的部分单独封装成一个Dll,再由别的Dll去调用这个对Application进行操作的Dll。(但如果仅仅是对Application进行简单操作,倒不如象amo说的那样调用Delphi提供的标准Dll)
1.带运行包是可以的,不过这不是Delphi推荐的作法。因为做好的安装盘,将
运行包拷贝到system目录下,会与其它的软件发生冲突,譬如另一个应用程序
也用带运行包运行,但版本却不一样,不是我的程序不能运行,就是他的程序
不能运行。
2.当能也可以将所有的DLL装到一个应用程序中,甚至连一个DLL也不要,全部
代码装到一个EXE中。不过我用DLL的目的,主要是想在运行时能替换代码。用
户可以选择不同的DLL来运行应用程序以达到不同的效果。
3.Firing_Sky讲将所有与Application有关的处理放在一个DLL中,似乎有一定
的道理,不过这个DLL中也得引用Forms。
120K重要吗?网上下载120K,30秒不到.
有兴趣的话,可以去http://bluebird22.east.net看看我写的一篇文章。
如果你编写的DLL包Application的话,你实际上已经违反了编写DLL的一些约定,不值得提倡!如果你很在乎120K空间的话,应该把DLL中的内容放到主Form和主Unit中去,这样即快又稳,何乐而不为?
to jll:我不明白为什么DLL不可以使用Application这个全局变量,为什么就
一定违反了DLL的一些约定,到底是哪些约定?我做成DLL的目的无非是要几个
应用程序都可以使用一些公共例程,而这些例程又与Application有关。我不知道各位是否用过Dream Controls,这个控件包中含有十多个对话框,都要
用到Application,因为要从MainForm中取得很多信息。当然我不需要,我只要
在显示DLL中的对话框时系统不会认为是两个Application,而在任务条上显示两
项任务。
DLL时显示的窗体不在任务栏上显示出来并不过份吧,那么如何既不“违规”,
又解决问题呢?
注意:这种非模态窗口其实和主窗口是不同步的,因为它们分别有各自的Application变量。如果你去掉DLL中的Application变量,应该就没有什么大问题了。
系统中多个可执行文件都要用到它。不过我已经用一个不怎么好的方法搞定了。
传递Application的Handle值,传给DLL中的Application,浪费了我121K。因为如果
窗体的Owner为空的话,系统会认为是另一个Application,任务栏上一定会显示。
大功告成!
作法如下:
在DLL调用过程中加入参数PAPP:TAPPLICATION,在过程中这样写:
VAR
OAPP:tAAPLICATION;
BEGIN
APPLICATION:=PAPP;
{
DO SOMTHING
}
APPLICATION:=OAPP;
END;