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 Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Visual Basic 1

Status
Not open for further replies.

watchguy

Technical User
Jan 15, 2003
3
US
Hi folks,

Don't laugh at me but I have an application I wrote originally in VB 1 and have tried to import it into various versions of VB over the year and of course no luck.

Anyone have any suggestions how to easily port this over without having to recreate everything from scratch.

I have a lot of new ideas for it but haven't done anything with it as I didn't want to start over.

Thanks in advance,

Chuck
 
Vb1? The form designer program? Sorry, no idea how you'd transition that to the most recent versions; they are completely different.
 
Wasn't VB1 through VB3 for dos?

Have Fun, Be Young... Code BASIC
-Josh Stribling
cubee101.gif

 
Having been through the "exercise", I can tell you how I approached it (Note: "APPROACHED" ~= "solved").

The app was actually done originally in a UNIX based Basic language and 'converted to VB 1.0. I was given the task of conversion to VB 6. The basic app consisted of ~~ 50 forms and 0ver 100 standard modules. Additional requirements included that the data portion mirror the data portion of a companion product which was also being updated (from vb 4 to vb 6). Discussing the 'companion product' I was imnformed that the db was AND WOULD REMAIN BTrieve flat file tables.

I could was able to at least see the forms and revivew the functionallity of the app in the executable . I reviewed the existing 'code' (after finding a third party who was able to actually find and provide a copy of VB 1.0). The 'strategy" I developed was to build a large parseing engine to simply read the source of each object in the VB 1.0 format, replace the obsolete objects with propperly formatted VB 6. objects and write the revised objects to a new 'directory'. After a conversion or (several) to at least be able to get through the porcess, I 'built' a VB 6 project based on the objects which weere in the converted directory.

Of course, one MIGHT guess that the process then became somewhat less clear. Obviously, in attempting to even load the 'new' obj3ects into the new projects, there were some 'new' issues to address, so these needed to be resolved - which meant another cycle therough the parseing engine to replace invalid constructs with their (hopefully valid) equivalents. While I do not have any actual dates, memory sugggests that this phase lasted a few months, until (sigh - AT LAST!!!!!) there was a project which would load and compile w/o errors.

This, was expected, was simply a minor waypoint in the trail. VB 1. was generally used in a time frame where screens were 40 lines by 80 characters, providing VERY limited display space, so a LOT of the code was simply to change the position and/or visibility of the controls. These were all required to be 'sorted out' and either re-arranged to suit on a single display or grouped onto Tabs of a tab strip and then remove the code to change hte position and visibility. This required another 'parseing' exercise, and additional month or so.

Further exercises included the addition of error handlers to many of the routines, development and implementation of class modules to handle the db transactions, removal of redundant procedures to common maodules, additions of extensive verification and validation code for data entry/edit of database values (In the 'original' data sets, I noted ~~ 10% of the records had at least one field where the data was invalid).

I believe there was a 'testable' version available at the end of ~~ 5 months (again, going on somewhat faulty memory). Placing the APP into alpha testing revealed some issues but was largely 'successful' however the tester was not the as aggressive as I would have liked, and had 'other responsibilities' which were his priority, and the formal testing seemed to not find as many issues as I discovering in my own informal 'playing' with some dummy data.

Not so long after the start of hte ALPHA tests, the company suffered a disasterous financial event (a customer wet bankrupt - costing the company well over a years worth of profit. I was retainied -in the vain hope of recovery- but reassigned to other efforts, and -while 'complete', the product never made it out of alpha testing.

In the grand glare of 20-20 hindsight, there is little that I would have done differently -IF I were to have accepted the task. I would have perhaps emphasized the parse-replace cycle a bit more, and attempted to extend that cycle further, looking into additional functions which could be 'replaced' programatically and perhaps attempting to identify redundant and unused procedures at an earlier stage. Another possability would be to explicitly identify each reserved word in VB 1.0 and check that the syntax and arguments matched EXACTLY between VB 1.0 and VB 6, and specifically identify any which were / are different as tarrgets of the parse / replace processes.

Finally, I would advise others to consider the size of the overall effort. It may easily be easier to 'build' an entirely new app based on requirements analysis and / or technical specs. This was a non option for me, as the reqiuirements and specs were co-resident in the single statement "make it work like that one".




MichaelRed
m.red@att.net

Searching for employment in all the wrong places
 
Hi Michael,

Hmmmm, thanks to you and everyone else who had given their reply. I appreciate the help. I had hoped that there had been some sort of program to port it over that I had not come accross in all of these years.

The work you went through just to port the app over is commendable and I'm sure would have been apprecaited if it had ever been used. A large project like that would have been well worth jumping through all of the hoops you did.

Alas, the project I would like to port isn't quite so large that I couldn't re-do it and I think it would be more to my bennefit to start over again. There were things that I had done in the original code that could have been done better and when I think about it I wonder why I did it that way, but that comes with experience. I guess I will get on with it.

Thanks again for the responses.

Chuck
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top