delphi打勾Build with runtime packages后找到rtl.bpl文件解决方法

来源:互联网 发布:域名可以解析在多个ip 编辑:程序博客网 时间:2024/05/22 08:43

    最近研究delphi的runtime package,包的程序发布每次都要带上vcl.bpl和rtl.bpl文件等,不然为提示找不到文件,一直困扰我很久,今天终于明白了,原来vcl.bpl和rtl.bpl异常是调用的包中抛出的,包中引用了vcl.bpl和rtl.bpl文件的dcp文件,运行时需要动态加载了bpl。造成的找不*.bpl

   解决方法:
   1.在程序使用包少时,可将vcl.bpl和rtl.bpl包中引用增加到本包中,并删除本包对vcl.bpl和rtl.bpl包dcp的引用。这样编译的包比较大,但相对独立。
   2.在程序使用包多时,可以重新编译vcl.bpl和rtl.bpl包,生成一公用包,与程序一起发布。这样编译的包非常小。但依赖于公用包

 

 

注意:Build with runtime packages打勾后,下面输入框存在的包将不会编译进程序,会在程序启动时动态加载当前程序目录下和系统目录文件,下面输入框不存在的包将会编译进行程序。在这里应该只输入自己创建的包

    配置完成后,在程序里使用时没有什么不同,首先在uses中引用单元,然后就可以调用函数与方法和使用类了。

    另外动态加载包时如果提示“Application is not licensed to use this feature”,一般是将工程属性中的Build with runtime packages选项选中后,但下面输入框中的包没有删除,将输入框中的包全部删除,只保留vcl即可

 

0 0
原创粉丝点击