от
Частью моей работы является сохранение и расширение устаревших приложений VB6. Общий движок написан на C/С и VB6 использует эти функции для того, чтобы улучшить производительность. Когда дело доходит до асинхронного программирования, интерфейс c не достаточно, и мы полагаемся на COM контролирует, чтобы огонь события в VB6. Моя проблема заключается в том, что когда я зарегистрировать элемент управления на VB6, VB и нагрузки этот элемент в памяти и не выгружать ее, пока я не брошу интегрированная среда разработки приложений VB6. Как элемент управления будет загружен все время, я не могу перекомпилировать его в из vc6, поскольку файл заблокирован. Решение я нашел не включить элемент управления в VB, но использовать
CreateObject()
полное имя моего контроля. Проблема в том, что я должен объявить свой контроль как объект, потому что в VB6 ничего не знает интерфейса я использую и я не имеют доступа к технологии IntelliSense, которая является боль. Любая идея, как я могу сказать в VB6, чтобы разгрузить контроля после выхода из приложения или непосредственно в IDE ?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
Частью моей работы является сохранение и расширение устаревших приложений VB6. Общий движок написан на C/С и VB6 использует эти функции для того, чтобы улучшить производительность. Когда дело доходит до асинхронного программирования, интерфейс c не достаточно, и мы полагаемся на COM контролирует, чтобы огонь события в VB6. Моя проблема заключается в том, что когда я зарегистрировать элемент управления на VB6, VB и нагрузки этот элемент в памяти и не выгружать ее, пока я не брошу интегрированная среда разработки приложений VB6. Как элемент управления будет загружен все время, я не могу перекомпилировать его в из vc6, поскольку файл заблокирован. Решение я нашел не включить элемент управления в VB, но использовать
CreateObject()
полное имя моего контроля. Проблема в том, что я должен объявить свой контроль как объект, потому что в VB6 ничего не знает интерфейса я использую и я не имеют доступа к технологии IntelliSense, которая является боль. Любая идея, как я могу сказать в VB6, чтобы разгрузить контроля после выхода из приложения или непосредственно в IDE ?
0 голосов
от
Я уверен, что нет хорошего способа заставить в VB6, чтобы разгрузить контроля. Вот что я делаю... вместо запустив Visual C и Visual ваѕісв бок о бок, работать в VB6 в ВК : Загрузить ВК Откройте проект, содержащий com-объектов Редактирование, изменение и т. д. В ВК, установить выходной исполняемый быть VB6.EXE с соответствующими аргументами командной строки для загрузки рабочей области в VB6 Теперь нажмите клавишу F5, чтобы запустить в VB6 IDE и загрузить ваш проект в VB6 Когда вы хотите снова изменить код com, выход VB6.EXE внесите изменения и снова нажмите клавишу F5. Покуда вы будете сохранять свое рабочее место в VB6 будет помните, что окна были открыты и все ваши настройки проекта. Преимущества этого метода: Вы можете установить точки останова в COM-объект и отладить ее, используя полный отладчик источник Вы можете счастливо отладка в C и VB одновременно Всякий раз, когда в VB6 работает, оно всегда имеет последнюю версию DLL-библиотеки com
...