Solved

VB4 -> VB 5 Migration, Problem with VBX Control

Posted on 2004-05-02
10
920 Views
Last Modified: 2008-03-04
Dear Experts,

I have a couple of with the .VBP Projects with the following lines in them:
VBX=..\..\..\..\..\WINDOWS\SYSTEM\THREED.VBX

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 ?
0
Comment
Question by:danblake
[X]
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
10 Comments
 
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.
0
 
LVL 13

Author Comment

by:danblake
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:
VBX=..\..\..\..\WINDOWS\SYSTEM\THREED.VBX
(From within the file, is this correct ?)

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



0
 
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.
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 13

Author Comment

by:danblake
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 ;)

0
 
LVL 70

Expert Comment

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

Author Comment

by:danblake
ID: 10975825
@emoreau...
"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.
0
 
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.
0
 
LVL 13

Author Comment

by:danblake
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.
0
 

Accepted Solution

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

Featured Post

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!

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 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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

734 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