Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


VB4 -> VB 5 Migration, Problem with VBX Control

Posted on 2004-05-02
Medium Priority
Last Modified: 2008-03-04
Dear Experts,

I have a couple of with the .VBP Projects with the following lines in them:

When I attempt to load them in VB5 (This is old code from VB4) I get an error and VB5 shutsdown (SP3).

I am looking to perform a migration from VB4 -> VB5 (To check for Win XP, prior to then migrating up to VB6 -> .NET etc..)

If I remove this line, I am able to open the VBP Project, but get the following errors on conversion:
Line 28: Class VBX.SSPanel of control Panel3D6 was not a loaded control class.
Line 42: Class VBX.SSCommand of control Command3D3 was not a loaded control class.

Anybody got any ideas ?
Question by:danblake
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
LVL 70

Expert Comment

by:Éric Moreau
ID: 10971953
Open your project in VB5. Go to Project->Components and add "Sheridan 3D controls". Close your project saving nothing but the .VBP. Reopen your project.
LVL 13

Author Comment

ID: 10971984
The Sheriden 3D Controls come up as enabled.
(And I still get the above VBX Errors due to the removal of the VBX line from the VBP File manually)

I cannot open .VBP Project without removing the line:
(From within the file, is this correct ?)

If I add this back into the system, then this causes errors/bugs with loading in VB5.

LVL 70

Expert Comment

by:Éric Moreau
ID: 10972305
VB5 definitely not supports VBX. The component I asked you to add is the OCX version you should use to upgrade. It worked for me in the past.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 13

Author Comment

ID: 10973134
Found what the problem is and have managed to put in place a solution...

1) VB5 does not like running under Win XP Hme. (Thought it might cause a few issues at is so old....
The removal of VBX = is required under Win XP Hme to get the system to load -- lots of errors/bugs running under XP -- crashs all over the place -- I really don't recommend it !).
Under VB5 & W98 the controls convert from VBX = to OBJECT = in the VBP project file and a big dialog box lets you know that it is going to convert the THREED.VBX Controls -> another part of the system.  In XP This dialog box causes a crash to occur.

The line with VBX=THREED.VBX, should be replaced with:
Object={0BA686C6-F7D3-101A-993E-0000C0EF6F5E}#1.0#0; THREED32.OCX

Issue Fixed.

Points refund in progress ;)

LVL 70

Expert Comment

by:Éric Moreau
ID: 10973262
That's what I told. Open the project, add the OCX and save!
LVL 13

Author Comment

ID: 10975825
"That's what I told. Open the project, add the OCX and save!"

It definitly was not as simple as this... the problem/bug was the migration was being done under Win XP, and the bugs would not allow the project to be opened properly under VB5/XP to allow you to open the project, add the OCX and save !....

This does not WORK under Win XP.  I have detailed the fix for all others, on how you can just modify the .VBP File itself without requiring to load the system up under VB5 to prevent any errors in XP.
LVL 70

Expert Comment

by:Éric Moreau
ID: 10975995
The OS is not related to the issue.

You have to open the project, answering to continue to every message box that pops, add the component, save only the VBP, close and re-open.
LVL 13

Author Comment

ID: 10976476
No -- The OS was definitly the issue in my case...  
I'm suprised that you can tell me then when I cannot perform this on Win XP, and can on Win 98.
(Prehaps -- there are some drivers/other DLLs that are not making this possible on my Win XP install... but it is definitly a OS -> VB5 issue that I am experiencing !)

I can repeat the process on Win XP -- (I do still have the original file) and the whole VB5/SP3 will crash and cause problems, I can probably prove this via screen-dumps -- if only I had a good connection (e.g. Broadband) I would do this, just so you could see the issues I get with VB5.

The .VBP Project does not even open using VB5/SP1 or SP3 using Win XP without modifying the .VBP File prior to opening in VB5.
Threed has a .VBX Control which is present in the Win 98 O/S which is located in windows\system directory -- its part of the API interface... without this VB5 does not perform the conversion from VB4 -> VB5.  (This is just what is happening on my Dual-boot installation..)

This is what I have found, you can tell me till you're blue in the face what should happen/work under Win XP -- I can PROVE this does not work on my machine: If you've got Win XP -- I'll even offer a Remote Assistance connection to verify this or why my XP Session in VB5/SP3 keeps crashing ?
I am happy to prove this issue.

Accepted Solution

PashaMod earned 0 total points
ID: 11005761
Closed, 500 points refunded.
Community Support Moderator

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Suggested Courses

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question