Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VB3 conversion questions about VBX

Status
Not open for further replies.

weberm

Programmer
Dec 23, 2002
240
US
I am trying to revive an old project written in VB3 years ago and convert it to VB6 but my copy seems to be missing a license to use some VBX files. How can I obtain a VB.LIC file and what are the various VBX files sppsd to do? I noticed that when I converted directly into VB6 it replaced some of the objects with pictureboxes with no apparent change in functionality from the already compiled VB3 version. I looked on Google but am only getting sites for downloading the BVXs, no references to their functionalites.
 
>missing a license to use some VBX files

VB6 cannot use VBX controls I'm afraid, whether licenced or not.
 
The only "reliable" conversion process I can imagine would be to go through VB4, which was the 16-bit to 32-bit transition release of VB. Even that makes many assumptions, for example that the old VB3 isn't using unusual or 3rd party VBXs, that the VB4-era 32-bit substitutes for VB3 VBXs exist and are close to what you need, and that VB5 or VB6 could take the resulting VB4 32-bit project and remap those controls to appropriate substitutes.

And that entirely ignores other issues related to differences in the properties, methods, and behaviors of the various controls at each transitional stage.

If the program is of any real sophistication conversion could take some time and a lot of "cut and try" to get around rough spots. You'd also need quite the lab setup, at least a machine with 3 or 4 versions of VB installed and capable of running them successfully.

This sounds like a case where a rewrite based on documentation and observed operation might be best. It seems unlikely that even much in the way of actual code is likely to be salvageable. Most VB3 programmers never attempted to isolate algorithms and "business logic" from UI code or even give any consideration to boundary conditions related to data type choices. What code is there is very likely a bowl of spaghetti laced with time bombs.

Some of that comes from who the "early adopters" of VB tended to be. Some of it comes from limitations of the environment VB3 offered and the limitations of the hardware and OSs it targeted.


Eerily enough, I have found that even some big budget Federal agencies still only offer VB6 versions of software one needs from time to time. It looks as if they had some intern write some creaky code one time back in the early '90s and then they cast it into the void and called it "support." It's even worse than some of the truly awful Fortran that NASA offers for some common astronomical calculations.
 
name=strongm said:
VB6 cannot use VBX controls I'm afraid, whether licenced or not.
Oh, I know that but I'm just curious what the functionality of VBX controls like THREED.VBX (3-D buttons?), SPIN.VBX (animates icons?), etc. perform that are now handled by VB6, assuming they even function in a 32-bit environment.
 
>Oh, I know that

Sorry. That was not apparant from your question. Quite the contrary.

>replaced some of the objects with pictureboxes

This is the default operation for VB6 when it cannot recognise or load a control ...

>with no apparent change in functionality

... because a picture box exposes a lot of propeties and methods that are shared by other controls. Thus using a picture box retains as much functuionlity as possible without actually having to do any conversion whatsoever.

>THREED.VBX, SPIN.VBX

VB6 Pro and Enterprise do actually have, hidden away on the installation disks (in Common\Tools\VB\Controls), OCX variants of some of the Microsoft-supplied VBX controls (you will, for example, find Spin32.ocx and Threed32.ocx there). They are completely unsupported, and there is no automatic conversion to them - but they do at least give you the ability to see what the controls did ...

 
dilettante said:
The only "reliable" conversion process I can imagine would be to go through VB4, which was the 16-bit to 32-bit transition release of VB. Even that makes many assumptions, for example that the old VB3 isn't using unusual or 3rd party VBXs, that the VB4-era 32-bit substitutes for VB3 VBXs exist and are close to what you need, and that VB5 or VB6 could take the resulting VB4 32-bit project and remap those controls to appropriate substitutes.
After some further research, I found an archive copy of VB3 and VB4 http://www.ojodepez-fanzine.net/network/qbdl/]online at [/url]. The former has a functional license and compiles cleanly and using the latter to upgrade to 32-bit looks promising so far, but I'm having trouble with the program that uses TABBED.VBX for tabbed dialogue.
 
As I recall, TABBED.VBX was not a Microsoft control. So there'll be no conversion available. I'm not even certain that there was a 32-bit version of it ever released.
 
Well a lot of the controls from the pre-VB6 era were not actually Microsoft controls. They just had a license to include some of the basic ones or versions with limited functionality along with the VB products. You can find a few references to this in the files on the VB6 CDs among all of the stuff in those "old time controls" folders.

VB6 has a couple of "tabbed" style controls so you might just have to adapt the code to use one of those.
 
What I meant when I said it was not a Microsoft control was that it was not a VBX that officially shipped with VB3. As far as I recall.
 
Sorry, that makes sense.

I don't find it on my ancient VB3 diskettes but I don't have a set of Pro disks for VB3 anymore either.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top