【问题标题】:Call Delphi DCOM调用德尔福 DCOM
【发布时间】:2015-07-07 00:08:50
【问题描述】:

我对 Delphi 和 DCOM 完全陌生。我被分配了修改旧的 Delphi 项目的任务。我能够进行更改并构建 .exe。我正在使用 Delphi 7 IDE。

由于某种原因,我们需要旧版本和新版本同时在同一台服务器上运行。

我所做的是,构建了新版本,我们称之为delphiapp_original.exe,将其重命名为delphiapp_new.exe。我们运行应用程序的方式是这样的:

callerapp delphiapp_original.ObjA

callerapp 是另一个调用 Delphi DCOM 对象的应用程序。

我的问题是如何运行我的新 Delphi 应用程序。是吗:

callerapp delphiapp_new.ObjA

我知道我的问题听起来很愚蠢,但我没有要测试的环境,所以我无法尝试该命令。我问的另一个原因是我不确定上述命令行中的delphiapp_originaldelphiapp_new 是exe 的名称还是exe 中某个类/对象的名称。如果它们是 exe 的名称会很好,这样会调用不同的 DCOM 对象。但是如果上面命令行中的delphiapp_original或者delphiapp_new是exe里面的类/对象的名字,那就麻烦了,因为我只是重命名了exe,旧exe和新exe里面的东西都是一样的name,我不知道调用的是哪个对象。

【问题讨论】:

  • 如果你不能测试这个,你就不会成功。

标签: delphi call dcom


【解决方案1】:

正如您所怀疑的,仅重命名 EXE 文件是不够的。您必须编辑项目的类型库以更改它定义的 COM 对象的 GUID/ProgID。然后,您可以编译 EXE 文件的新版本并运行它,以便使用新的 GUID/ProgID 重新注册其 COM 对象。然后,新旧版本将能够以不同的名称在同一台 PC 上共存。

【讨论】:

    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2011-10-04
    相关资源
    最近更新 更多