Results 1 to 4 of 4
2014-06-09, 01:11 #1
- Join Date
- Dec 2009
- Hong Kong
- Thanked 1 Time in 1 Post
Reviving ancient Visual Basic project: possible?
I've been asked to evaluate the difficulty of extracting data from an old VB project and have a couple of questions for any VB experts out there (That's you lot
It's a custom built application holding the archives of a now defunct magazine - written in 1998 in VB 4.0. and currently sits on 2 CDs. There is a Setup.exe plus a bunch of .DLLs and other hidden files in the root of the CD. These files all appear to be common to both disks. There is also a Data directory on each CD with a common folder structure but different contents.
The first issue is running it - the VB stub Setup.exe on the CDs will only run on 32 bit windows. Is it likely to be possible to replace that and other VB files with equivalents from a newer version of VB to let it run on 64 bit Windows?
My other question is about the structure of VB projects - are they compiled or interpreted? By this I really want to know whether its likely that a modern version of VB could be used to open and edit the project? Or would that require some extra source code files that would not have been included on the CDs when they were originally created? Ideally they would like to combine the data from the 2 CDs and install on a hard disk rather than requiring the physical CD to be present in the drive. This would require rebuilding .IDX index files and the like.
Any insights or advice would be much appreciated.
2014-06-09, 12:21 #2
I'm not an expert on Visual Basic, but I do have a programming background.
My guess is that the program is interpreted, not compiled. If there is a standalone .exe file (along with a bunch of associated files) which runs the VB project, then it is compiled. If, however, there is only a standalone .exe file for running Visual Basic, then it is interpreted.
If you set up a virtual machine on your computer (e.g. Oracle Virtual Box), you could install Windows 2000 in the virtual machine, and then install the VB project in the Windows 2000 virtual machine. In my opinion, that would give you the best chance of success, and it would satisfy the 32-bit requirement, because I don't believe there was a 64-bit version of Windows 2000. It should also allow you to copy the two CDs to two separate folders (or perhaps to one single folder) on the hard drive, and then run the main .exe from within Windows 2000. (That may not work, but it may.)
As far as getting the data into a modern version of Visual Basic, I think your best bet would be to get a data conversion program from Microsoft or from some other company. Keep in mind that the VB code was written to access the data in its current format. In order to have all the same reports, access, data entry, etc., the code will have to be converted as well, and it may not perfectly convert to a modern equivalent. You may have to rewrite it manually in whole or in part.
Last edited by mrjimphelps; 2014-06-09 at 12:23.
2014-06-15, 08:55 #3
- Join Date
- Dec 2009
- Surrey, UK
- Thanked 40 Times in 35 Posts
Reviving VB4 project
For some reason, this thread was closed after only 6 days. As a part-time programmer, I was keen to help, although I never used VB4 (I used the DOS-based QB 4.5, and then VB6). I can't tell what the setup.exe program on the CD is, it may be to install the VB4 program and associated data files. The VB4 program itself will be written in 'P' code, so it needs the VB4 runtime DLLs, still available from MS.
I don't know how much fun you wull have getting this to run under later Windows, but this chap eventually managed to run his old VB4 program to run under 8.1 (64-bit I think).
It is not clear whether the CDs contain the source code, but that will be of limited use without the VB4 programming environment (I don't know if that is available). I expect even converting it to VB6 would be difficult, and probably involve re-typing by hand. Your best bet is probably to get it to run, and see if the program authors made any provision for exporting the data.
I'd love to help if I could (I'm retired now).
2014-06-20, 18:31 #4
- Join Date
- Dec 2009
- Dallas, Texas, USA
- Thanked 6 Times in 6 Posts
If the CDs contains .FRM and .BAS files, these are the source code files, which can probably be imported into a new VB6 project. Since VB4 was a 16 bit compiler, you won't be able to run it on a 64 bit OS such as Windows 7 X64, although you might be able to get it running in an instance of XP Mode.
To run on a modern 32 or 64 bit OS, your next challenge will be finding substitutes for any of the DLLs that the application actually uses. If they are standard Win16 API DLLs, there will be DECLARE statements in the top of any .FRM or .BAS file that uses them; these may give you clues about the kinds of libraries that need to take their place. If the DLLs are OLE libraries, there should be DIM statements in the program source that refer to variable types other than the native types (e. g., Integer, String, Long, Real, Double).
Porting both kinds of DLLs can be anything from straightforward to significant work. There is a high probability that many of the argument types will change, especially the numerical variables.David Gray, Chief Wizard
Irving, Texas, USA
WizardWrx Web - Technical Articles and Free Software
You are more important than any technology we may employ.