在project/options/packages中选择Build with runtime packages即可。
解决方案 »
- 一张进货单,其中两个字段,业务员编号,审核员编号。怎么关联操作员表显示这两个人姓名
- 在数据库中的连接字符串都是数据库文件的绝对路径,怎么用相对路径?
- 急求:用vb如何查找oracle的时间段
- 求救:Delphi中调用Java程序问题
- StartOfTheWeek()报错
- 如何播放内存中的wav文件?
- 这样的如何打包
- 请教一个很简单的问题
- 我从Borland公司下载了一个DELPHI5注册不了,我从Borland公司下载了一个DELPHI5注册不了,按照安装步骤,到它指示的主页上注册后,不知如何
- 我想把我程序要读的文件封装到cab里,如何打包,如何读?
- 如何获取指定网段所有存在的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;