C ++ DLL более новая версия - PullRequest
1 голос
/ 27 мая 2010

Все,

У меня есть C ++ COM DLL, написанная с использованием Visual Studio. Все интерфейсы имеют идентификаторы GUID в файлах idl и rgs. Мы хотим создать новую DLL с совершенно новыми GUID, поскольку мы хотим, чтобы она сосуществовала на одной машине со старой, но с другой логикой. Количество идентификаторов GUID превышает 200. Существует ли инструмент, который находит идентификаторы GUID и заменяет их? Я заметил, что для каждого идентификатора GUID в файле idl в файлах rgs 3 одинаковых.

Я не очень люблю C ++ COM, но мне нужно сделать это:

Rgds, MK

1 Ответ

0 голосов
/ 28 мая 2010

Мы используем следующий тупой, но рабочий подход: мы храним все GUID, относящиеся к COM-классам и интерфейсам, как #define s в одном заголовке, который включен в файл .idl. Когда нам нужно нарушить совместимость, мы просто открываем этот файл и вручную заменяем все GUID. Не очень элегантно, но надежно и работает.

Поэтому я предлагаю вам просто найти все GUID в вашем проекте и заменить их. Полагаю, вам лучше переместить их всех в одно место одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...