Сторонний компонент отключает IDE.Как мне предотвратить это? - PullRequest
0 голосов
/ 15 января 2011

Мне нужно использовать стороннюю DLL ActiveX в моем приложении VB6.Однако теперь, когда я включил DLL в ссылки и использовал ее в коде, каждый раз, когда я закрываю свое приложение, оно также закрывает VB6.

Я не вижу ничего в журналах или средстве просмотра событий, котороепредположил бы, почему это происходит.

Можно ли как-нибудь предотвратить это?

Кстати, я связался с продавцом, но, похоже, они сосредоточены на своих продуктах .NET.

Ответы [ 5 ]

1 голос
/ 15 января 2011

Возможно, вы неправильно используете компонент, пропуская определенные вызовы инициализации или завершения, что приводит к отключению VBIDE. Обычно это происходит, когда сторонний компонент или ваше приложение выполняют вызовы Win32.

У меня было несколько приложений, которые я запускал их через отладчик, они всегда закрывали VBIDE. Тем не менее, при нормальной работе версий Release или Debug приложения работали нормально.

0 голосов
/ 13 мая 2011

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

0 голосов
/ 17 января 2011

Ой. Я чувствую твою боль.

Можете ли вы переключиться на компонент .Net и использовать его из VB6 посредством взаимодействия?Т.е. написать COM-видимую оболочку в VB.Net?

0 голосов
/ 16 января 2011

По профессии я не программист VB6. Я просто бездельничаю с вещами. Я слышал об этом сценарии, который называется подклассом. Запустите поиск на pscode.com. У них есть код и учебные примеры о том, как это предотвратить. Удачи.

0 голосов
/ 15 января 2011

Попробуйте отключить DEP только для VB6.exe или полностью.

Кроме того, это может быть проблема проверки лицензии, т. Е. Разрешения реестра - попробуйте запустить IDE VB6 от имени администратора (щелкните правой кнопкой мыши -> Запуск от имени администратора)

...