Разработка в VB 6.0

У нас есть несколько проектов на VB 6.0. Большинство этих проектов являются библиотеками ActiveX DLL. При разработке проекты берут ссылку «.dll» других проектов, но это не позволяет нам отлаживать. Итак, для этого нам нужно взять ссылку на проект .vbp. Однако ссылка на проект означает, что нас просят обеспечить двоичную совместимость.

Следует ли во время разработки использовать совместимость проектов и встраивать проекты в библиотеки DLL для развертывания?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
415
3

Ответы 3

Можно ссылаться на vbp во время разработки, просто убедитесь, что вы сохраняете двоичную совместимость. Если вы этого не сделаете, вы превратите реестр в беспорядок, и развертывание будет катастрофой. Однако имейте в виду, что даже при включенной двоичной совместимости каждый раз, когда вы меняете публичный интерфейс DLL, вы создаете прямую ссылку в записи OLE в реестре.

у нас есть четыре уровня DLLS в программном обеспечении CAD / CAM, которое мы используем для режущих машин моей компании. Мы справились с этим, создав каталог совместимости с библиотеками DLL ПРЕДЫДУЩЕЙ версии. При этом мы можем продолжать использовать двоичную совместимость.

Процесс выглядит так.

  • Совместимость с DLL версии 119 в этом.
  • Мы собираем ревизию 120 и отпустить
  • Скопируйте DLL версии 120 в каталог совместимости.
  • Развивать
  • Контрольная работа
  • Мы компилируем ревизию 121 и отпустите его.
  • Скопируйте DLL версии 121 в каталог совместимости.
  • [повторить]

Основная проблема, на которую вам нужно обратить внимание, - это изменения самого нижнего уровня используемых вами библиотек DLL. Visual Basic 6 использует инструкцию #include при создании своих внутренних библиотек типов. Придется запутать его, является ли он по-прежнему двоично-совместимым или нет. Обратите внимание, что вы можете увидеть это с помощью инструмента OLE View, который поставляется с Visual Studio 6.

Решение этой проблемы - скомпилировать низкоуровневую DLL и сразу же поместить ее в каталог совместимости. Полученные внутренние библиотеки типов для библиотек DLL более высокого уровня теперь будут правильно определять, совместимы ли вы с двоичным кодом или нет.

Помните, что двоичная совместимость означает, что все, что вы можете сделать, это добавить метод или свойство. Вы не можете изменить имя существующего метода или список аргументов. (это подпись в терминах COM)

Вы должны иметь возможность отлаживать ссылки на dll. Правильно ли вы начали проекты? Или вы можете добавить все / некоторые dll в одну и ту же «группу проектов» (* .vbg).

Другие вопросы по теме