我有一个Delphi DLL,其中包含一个使用各种第三方组件的表单.这个DLL被许多不同版本的Delphi使用.我将第三方组件编译到DLL中.我相信我仍然需要链接到一些"基础"Delphi软件包,如rtl,vcl等,所以我的DLL将使用相同的内存管理器和Delphi IDE使用的其他全局资源.如何找出需要链接的BPL?
理想情况下,我想在我的DLL或项目中指出一些实用程序,如果我只使用BPL并且没有可用的源文件,请列出它依赖的每个BPL.然后我可以查看该列表并选择我想在运行时加载的包."运行时软件包"下项目属性中给出的当前列表不完整(因为它已经过多年调整).
检查"使用运行时包构建",将整个包列表保留原样.
做项目|构建(不编译!).构建完成后,使用项目|查看信息; 生成的对话框将为您提供需要分发的实际包的列表.
在Jeremy关于软件包默认列表的评论之后,当他启用包构建时,这里是Delphi 2010中该选项对话框的列表:
vclx;vcl;vclimg;dbrtl;Rave77VCL;bdertl;rtl;vclactnband;xmlrtl;
vcldb;vcldbx;vcltouch;dsnap;dsnapcon;TeeUI;TeeDB;Tee;vclib;
ibxpress;adortl;IndyCore;IndySystem;IndyProtocols;inet;
intrawebdb_100_140;Intraweb_100_140;VclSmp;vclie;inetdb;
webdsnap;websnap;inetdbbde;inetdbxpress;soaprtl;vclribbon;
DbxCommonDriver;DbxClientDriver;DBXInterBaseDriver;DBXMySQLDriver;
dbexpress;dbxcds;SynEdit_R2009
Run Code Online (Sandbox Code Playgroud)