shuro
Apr 7th, 2004, 03:18 AM
My question is about version compatibility in VB 6.0
I finished an application which consists of 2 ActiveX DLL projects, 1 ActiveX control and standard EXE (all of which I wrote).
Version compatibility was set to "no compatibility" in all projects.
DLLs are selfsufficient, ActiveX control and main EXE project include (references) those DLLs. And ActiveX control is used on main form of EXE project.
So I used to make DLLs first, then ActiveX which referenced those DLLs and finally I made main EXE file which referenced OCX and DLLs.
I used Package & Deployment Wizard to create instalation for my application and that worked just fine.
Then I discovered "version compatibility" feature and messed things up.
I correctly put all those projects in one project group, set "project compatibility" (and later on "binary compatibility") on DLLs and OCX and thats when things gone wrong.
When I started using compatibility feature I created a new installation and every time I start an application installed that way (unless there is VB 6.0 installed on that computer) I get following error message:
Run-time error '372':
Failed to load control 'ctlUredjaj' from ctjUredjaj.ocx. Your version of ctlUredjaj.ocx may be outdated. Make sure you are using the version of the control that was provided with your application.
This happends on computers that had application installed before as well as on those that had it installed for the first time.
I tried setting compatibility to "no compatibility" and doing things the old way, but the same error keeps occuring.
I also copy/pasted all code to new projects with different names for DLLs and OCX (method names remained the same) but with no success.
I also tried deleting all references on those classes and methods from registry but that also didn't help.
Can anyone tell me what to do so I can make this application working on machines that doesn't have VB 6.0 installation?
And if anyone could tell me what I did wrong while I was experimenting with compatibility feature I would be most grateful.
Looking forward to your answer,
Zoran
I finished an application which consists of 2 ActiveX DLL projects, 1 ActiveX control and standard EXE (all of which I wrote).
Version compatibility was set to "no compatibility" in all projects.
DLLs are selfsufficient, ActiveX control and main EXE project include (references) those DLLs. And ActiveX control is used on main form of EXE project.
So I used to make DLLs first, then ActiveX which referenced those DLLs and finally I made main EXE file which referenced OCX and DLLs.
I used Package & Deployment Wizard to create instalation for my application and that worked just fine.
Then I discovered "version compatibility" feature and messed things up.
I correctly put all those projects in one project group, set "project compatibility" (and later on "binary compatibility") on DLLs and OCX and thats when things gone wrong.
When I started using compatibility feature I created a new installation and every time I start an application installed that way (unless there is VB 6.0 installed on that computer) I get following error message:
Run-time error '372':
Failed to load control 'ctlUredjaj' from ctjUredjaj.ocx. Your version of ctlUredjaj.ocx may be outdated. Make sure you are using the version of the control that was provided with your application.
This happends on computers that had application installed before as well as on those that had it installed for the first time.
I tried setting compatibility to "no compatibility" and doing things the old way, but the same error keeps occuring.
I also copy/pasted all code to new projects with different names for DLLs and OCX (method names remained the same) but with no success.
I also tried deleting all references on those classes and methods from registry but that also didn't help.
Can anyone tell me what to do so I can make this application working on machines that doesn't have VB 6.0 installation?
And if anyone could tell me what I did wrong while I was experimenting with compatibility feature I would be most grateful.
Looking forward to your answer,
Zoran