调用 Delphi DCOM

Call Delphi DCOM

我对 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 中某些 class/object 的名称。如果它们是 exe 的名称就好了,这样会调用不同的 DCOM 对象。但是如果上面命令行中的delphiapp_originaldelphiapp_new是exe里面的class/object的名字,那就麻烦了,因为我只是重命名了exe,旧exe里面的东西和新的exe保持相同的名称,我不知道调用了哪个对象。

如您所料,仅重命名 EXE 文件是不够的。您必须编辑项目的类型库以更改它定义的 COM 对象的 GUID/ProgID。然后你可以编译一个新版本的 EXE 文件和 运行 它以便它的 COM 对象使用它们的新 GUID(s)/ProgID(s) 重新注册。届时,新旧版本将可以在同一台PC上以不同的名称共存。