AngryHacker
AngryHacker

Reputation: 61636

3rd Party Component brings down the IDE. How do I prevent this?

I am having to use a 3rd party ActiveX DLL in my VB6 application. However, now that I've included the DLL in the references and used it in code, every time I quit my app, it also quits VB6.

I don't see anything in the logs or event viewer that would suggest why this is happening.

Is there anyway to prevent this?

Btw, I have contacted the vendor, but they are focused on their .NET products, it seems.

Upvotes: 0

Views: 191

Answers (5)

AngryHacker
AngryHacker

Reputation: 61636

Just to close this question out... After spending significant time trying various things I ended up writing code that unloaded the control, paused for 5 seconds and then quit app. That seemed to do the trick.

Upvotes: 0

MarkJ
MarkJ

Reputation: 30408

Ouch. I feel your pain.

Can you switch to a .Net component, and use it from VB6 via interop? I.e. write a COM-visible wrapper in VB.Net?

Upvotes: 0

Rand0mGuy
Rand0mGuy

Reputation: 1

I'm not a VB6 programmer by trade. I just mess around with the stuff. I have heard of this scenario referred to as sub-classing. Run a search on pscode.com. They have code and tutorial examples about how to prevent it. Good luck.

Upvotes: 0

wqw
wqw

Reputation: 11991

Try switching DEP off for VB6.exe only or altogether.

Also, this might be a license checking issue i.e. registry permissions -- try running VB6 IDE as Administrator (right click->Run as Admin)

Upvotes: 0

AMissico
AMissico

Reputation: 21684

You may not be using the component correctly by missing specific initialization or termination calls, which has the affect of bringing down VBIDE. This usually happens when the third-party component or your application make Win32 calls.

I have had a few applications that I ran them through the debugger, they always terminated VBIDE. Yet, running the Release or Debug versions normally, resulted in the applications working just fine.

Upvotes: 1

Related Questions