у нас есть четыре уровня DLLS в программном обеспечении CAD / CAM, которые мы используем для режущих станков моей компании. Мы справились с этим, создав каталог совместимости, в котором находятся библиотеки ПРЕДЫДУЩЕЙ версии. При этом мы можем продолжать использовать бинарную совместимость.
Процесс выглядит следующим образом.
- Совместимость имеет версии 119 DLL
в нем.
- Мы компилируем Редакцию 120 и
отпустите это
- Скопируйте библиотеки Revision 120 в
каталог совместимости.
- Разработка
- Test
- Мы компилируем Редакцию 121 и
отпустите.
- Скопируйте библиотеки Revision 121 в
каталог совместимости.
- [повтор]
Основная проблема, за которой вам нужно следить, - это изменения самого низкого уровня используемых вами библиотек DLL. Visual Basic 6 использует оператор #include при создании своих внутренних библиотек типов. Делать это нужно, чтобы запутать его из-за того, является ли он все еще двоичным или нет. Обратите внимание, что вы можете увидеть это с помощью инструмента OLE View, поставляемого с Visual Studio 6.
Решение этой проблемы - скомпилировать низкоуровневую DLL и сразу же поместить ее в каталог совместимости. Получающиеся внутренние библиотеки типов для библиотек DLL более высокого уровня теперь будут правильно определять, совместимы ли вы с двоичными файлами.
Помните, что двоичная совместимость означает, что все, что вы можете сделать, это добавить метод или свойство. Вы не можете изменить имя существующего метода или список аргументов. (это подпись в терминах COM)