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