2011-01-15 2 views
0

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

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

Есть ли вообще предотвратить это?

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

+0

О каком компоненте вы говорите? – wqw

+0

@wqw http://www.voipsipsdk.com/ - Компонент сам по себе отлично работает и единственное, что я могу найти с помощью решения ActiveX (остальные - .NET/Java/etc). – AngryHacker

ответ

0

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

1

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

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

+0

Это происходит с образцом от установки. – AngryHacker

0

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

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

+0

Это Windows XP - у меня работает как Admin. – AngryHacker

0

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

0

Ouch. Я чувствую вашу боль.

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

+0

Заменить раздражающую боль острым? Нет, спасибо. – AngryHacker

Смежные вопросы