2015-07-07 2 views
1

Я совершенно не знаком с Delphi и DCOM. Мне была назначена задача изменить старый проект Delphi. Я могу внести изменения и построить .exe. Я использую Delphi 7 IDE.Call Delphi DCOM

По какой-то причине нам нужна старая версия и новая, работающая на одном сервере одновременно.

То, что я сделал, построил новую версию, назовем ее delphiapp_original.exe, переименовал ее в delphiapp_new.exe. То, как мы запустить приложение, как:

callerapp delphiapp_original.ObjA 

callerapp другое приложение, который называет объекты Delphi DCOM.

Мой вопрос заключается в том, как запустить мое новое приложение Delphi. Это:

callerapp delphiapp_new.ObjA 

Я знаю, что мой вопрос звучит глупо, но у меня нет среды для тестирования, так что я не в состоянии попробовать команду. Еще одна причина, по которой я спрашиваю, заключается в том, что я не уверен, что delphiapp_original или delphiapp_new в приведенной выше командной строке - это имя exe или имя некоторого класса/объекта внутри exe. Было бы хорошо, если бы это имя exe, поэтому будут вызваны разные объекты DCOM. Но если delphiapp_original или delphiapp_new в приведенной выше командной строке являются именем класса/объекта внутри exe, это вызовет проблемы, так как я только переименовал exe, все вещи внутри старого exe и нового exe остались с тем же именем, я выиграл Не знаю, какой объект вызывается.

+0

Вы не добьетесь успеха, если не сможете проверить это. –

ответ

1

Как вы подозревали, недостаточно просто переименовать EXE-файл. Вы должны отредактировать библиотеку типов проекта, чтобы изменить идентификаторы GUID (ы)/ProgID (ов) объектов (ов) COM, которые он определяет. Затем вы можете скомпилировать новую версию EXE-файла и запустить его, чтобы его COM-объекты перерегистрировались с использованием их новых GUID (-ов)/ProgID (s). Затем старые и новые версии смогут сосуществовать на одном ПК с разными именами.

 Смежные вопросы

  • Нет связанных вопросов^_^