delphi 如何使用数据模块单元部署定制的业务流程图?

h9a6wy2h  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(204)

我有一个小组项目:

  • PkagDemmo.exe(主应用程序)
  • AppAddin.bpl(加载/卸载bpl和创建表单实用程序)
  • PkgData.bpl(用于数据访问实用程序的DataModeule单元)
  • Pakage1.bpl(表单1 bpl和显示数据)
  • Pakage2.bpl(Form 2 bpl并显示数据)PakDemo.exe项目选项:
  • 程序包/运行时程序包/带有运行时程序包的链接= true
  • 程序包/运行时程序包/运行时程序包= true

在我开发的PC上,应用程序运行良好,但将这5个文件移动到我的笔记本电脑,运行PkageDemo.exe将出现错误:找不到:FireDACCommonDriver270.Bpl、FireDACComnon270.Bpl、FireDACCommonODBC270.Bpl、vclFireDac270.Bpl......这些都是PkgData.bpl DataMoudles使用的是FireDacXXXX单元,DB单元需要动态的bpl。我把这些bpl复制到我的笔记本上,但是仍然显示错误。为什么应用程序找不到那些FireDacxxx.bpl,如何解决这个问题?// Delphi 10.4.2 Win10

hivapdat

hivapdat1#

按应用程序查找文件的标准规则:
1.尝试在当前工作文件夹中查找(如果使用链接,则为链接的“工作目录”字段,如果通过双击浏览器-当前文件夹运行)
1.它试图通过解析“Path”环境变量中的字符串来查找文件。它将一个接一个地获取文件夹,由“;“的符号。
如果应用程序没有找到文件的这些规则-你会得到错误消息。所以要解决你的问题,你可以-把所有的文件放在同一个文件夹或修改“路径”变量,以添加文件夹与你所有的bpls或使用绝对路径的文件(如果你在运行时手动加载它)。
它在你的developerPC上工作,因为 Delphi 在“path”变量中添加了带有运行时bpls的文件夹。
后来又补充说:
关于“路径”-这是一个系统环境变量,所以它取决于如何打开它的Windows版本。如果你使用Widnows 10或11只是去设置和键入“enviroment”在“查找框”-窗口将显示显示编辑窗口。但它不会帮助,直到你找到所有必要的bpls。
主要问题是,您不仅必须放置您的应用程序和您的bpls直接使用的bpls,而且还必须放置FireDac bpls正在使用的bpls。
最简单的方法找到他们所有-使用一些程序,可以找到dll/exe/pbl依赖。我使用“文件信息插件”的TotalCommander,但你可以谷歌一些其他程序相同的行动。
其他方法要长得多,但不需要任何额外的程序。您尝试运行您的应用程序,看到错误消息,如“代码执行无法继续,因为KComponents.bpl没有找到。....."。然后在开发PC上找到这个“KComponents.bpl”(首先查看类似于“c:\Program Files(x86)\Embarcadero\Studio\21.0\Redist\win32”的内容),复制到笔记本上与您的应用程序EXE文件相同的文件夹中,并尝试再次运行它。您将看到下一个丢失的BPL。依此类推。
下面是您编写的所有BPL的依赖关系树:

FireDACCommonODBC270.bpl
    rtl270.bpl
    dbrtl270.bpl
        rtl270.bpl - duplicate
    FireDACCommon270.bpl
        xmlrtl270.bpl
        rtl270.bpl - duplicate
        dbrtl270.bpl - duplicate
    FireDACCommonDriver270.bpl
        rtl270.bpl - duplicate
        dbrtl270.bpl - duplicate
        FireDACCommon270.bpl - duplicate
        
vclFireDAC270.bpl
    rtl270.bpl
    dbrtl270.bpl
    vclwinx270.bpl
        vcl270.bpl
            rtl270.bpl - duplicate
        vclimg.270.bpl
            rtl270.bpl - duplicate
            vcl270.bpl - duplicate
        rtl270.bpl - duplicate
        bindengine270.bpl
            rtl270.bpl - duplicate
    FireDACCommon270.bpl - duplicate
    FireDAC270.bpl
        rtl270.bpl - duplicate
        dbrtl270.bpl - duplicate
        FireDACCommonDriver270.bpl - duplicate
        FireDACCommon270.bpl - duplicate
    vclx270.bpl
        rtl270.bpl - duplicate
        vcl270.bpl - duplicate
    vcldb270.bpl
        rtl270.bpl - duplicate
        vcl270.bpl - duplicate
        vclwinx270.bpl - duplicate
        dbrtl270.bpl - duplicate
        vclwinx270.bpl - duplicate
    vcl270.bpl - duplicate

相关问题