Выгрузка управления COM при работе в VB6 IDE

голоса
31

Часть моей повседневной работы является сохранение и расширение наследия VB6 приложения. Общий двигатель написан на C / C ++ и VB6 использует эти функции для того, чтобы улучшить производительность.

Когда дело доходит до асинхронного программирования, интерфейс C недостаточно, и мы рассчитываем на COM управления, чтобы запускать события в VB6.

Моя проблема заключается в том, что, когда я зарегистрировать элемент управления в VB6, VB загружает этот контроль в памяти и не выгружать его, пока я не вышел из VB6 IDE. Как элемент управления будет загружен все время, я не перекомпилировать его в VC6, потому что файл DLL заблокирован.

Решение я нашел не для того, чтобы контролировать в VB , но использовать CreateObject()с полным именем моего контроля. Затем проблема заключается в том , что я должен объявить свой контроль как объект , потому что VB6 ничего не знает интерфейса я использую , и я не имею доступа к IntelliSense, которая является боль.

Любая идея, как я могу сказать VB6 разгружать контроль после выхода из приложения или непосредственно в IDE?

Задан 02/08/2008 в 12:52
источник пользователем
На других языках...                            


1 ответов

голоса
27

Я уверен, что нет хорошего способа заставить VB6 разгружать контроль.

Вот что я делаю ... вместо запуска Visual C и Visual Basic бок о бок, запустите VB6 под VC:

  1. Загрузите VC
  2. Откройте проект, содержащий ваши COM-объекты
  3. Редактирование, изменение и т.д.
  4. В VC, установите выход исполняемой программу VB6.EXE с соответствующими аргументами командной строки для загрузки VB6 рабочего пространства
  5. Теперь просто нажмите клавишу F5, чтобы запустить VB6 IDE и загрузить проект VB6
  6. Если вы хотите изменить COM-код еще раз, выход VB6.EXE, внесите необходимые изменения и снова нажмите F5. До тех пор, как вы сохраните ваше рабочее VB6 будут помнить, что окна у вас открыты, и все ваши настройки проекта.

Преимущества этого метода:

  • Вы можете установить точки останова в объекте COM и отлаживать его, используя полный исходный отладчик
  • Вы можете успешно отладить в C и VB в то же время
  • Всякий раз, когда VB6 работает это всегда имеет последнюю версию COM библиотек DLL
Ответил 20/08/2008 в 04:58
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more