Vb Classic

Microsoft VisualBasic versions 3 through 6 are referred to as "VbClassic". "VB Version 7" was the first VisualBasicDotNet release.

It's largely credited with bringing GUI development to the "programming masses", popular for it's drag-and-drop style of WYSIWYG GUI development. However, it was often plagued by deployment headaches, including DllHell. And, by some accounts it encouraged questionable development practices.

This is a name coined by the VisualBasic (VB) community, referring to Microsoft's version of the product for the Windows Operating System prior to the mid 2002 release of the DotNet platform.

The distinction has significance due to a radical departure in the syntax, environment and capabilities in the MicrosoftDotNet version of this particular language. See FredDotNet for related stories.

Some in the VB Community see VisualBasicDotNet as such a departure from VbClassic that it might as well be called FredDotNet.

As at the beginning of 2004, VbClassic has already been taken off the shelf by the vendor. However, there is still a huge installed base within commercial organizations that still have VbClassic applications that have to be maintained.

Despite attempts by many to belittle the language, and others wanting to take profit by misusing the VisualBasic brand name, there is not much of a competition when considering choosing a high level language (see AlternateHardAndSoftLayers) that works well with Microsoft environment and inexpensive to resource.

So now we're going to work in Basic, but we still want to go fast, get good quality, be flexible, scalable, close to the requirements and all that good stuff. Maybe there's a way to do ExtremeProgramming in VB? Or if not, why not?

For more information on MicrosoftCorporation's VisualBasic, see links and subtopics below.

Some VbClassic Programmers:

VbClassic Object Orientedness and Methodologies: ExtremeProgrammingWithVbClassic: Other VB: VB Debate: VB Related: See VbClassicBugs.

(Additional comments moved to ThingsWeHateAboutVbClassic and VbTeachesBadHabits.)

VbClassic V6 support has ended 31Mar05. Some users not willing to go VbDotNet are seeking alternatives.

See also the evolving VbClassicMigrationConcerns

New users please see IwannaLearnVbClassic, and if you get discouraged by snappy comments from geeks, take a look at NewWineOldBottle, the Vb bottle got plenty of juice left in it yet

VbClassic compatibility

With WindowsXp SP2, applications written using VbClassic earlier than V5 are reportedly broken. See http://www.crn.com/sections/security/security.jhtml?articleId=25600156

Nothing For VbClassicApplications from DotNet

While on the topic of VisualBasic before MicrosoftDotNet, there is this VisualBasicForApplications (VBA) that is still required to integrate Microsoft office applications with Dotnet managed code. I think as companies switch to Office2003 or later products, the use of VBA will be diminished.

Visit the following link for a tutorial on VBA http://visualbasic.about.com/c/ec/6.htm?PM=ss13_visualbasic

See also VbScript

Can VbClassic applications survive in a WindowsLonghorn environment?

Probably no-one knows for sure. But some say there will be serious attempts in withholding support for OperatingSystem level API calls that VbClassic applications rely on.

What references can be provided to support/refute this view?

People interested in more background information are advised to checkout WhyVisualBasic and WhyAnotherComponentTechnology. People who want to get handson VbClassic please checkout IwannaLearnVbClassic. And for the impatient, check out the tutorial at http://visualbasic.about.com/library/bllvb-6a.htm?once=true&

VbClassicProgrammingModel has some discussions on applicability of OO concepts to VbClassic.

There are pages here that discuss project experience on use of VbClassic, including:

Testing VbClassic

The following response from a former VbClassic guru, addressed to the question of use of VbUnitThree, standard edition, to help create better tests for a legacy VB6 application. The application have forms have embedded processing logic. It appears VbUnitThree require forms to have logic separated out into classes, which could be a time consuming exercise.

To the best of my knowledge, none of the VbUnit frameworks have the "screen scraping" technology necessary to test "business logic in form events" code. I would still used VbUnitThree on such projects, but it would take time and code changes to make things testable. -- JeffGrigg (...who left VB to do Java.)

For the benefit of those who can't leave yet for Java, I should point out that it's perfectly possible to create a thin UI and a model in VbClassic, and test the model using your favorite UnitTesting tool (mine is VbLiteUnit since I wrote it). I don't think this is at all different from what people do to "Test the UI" in other languages, short of using an external ScreenScraper program. That's not so say I'm happy to be still working in VbClassic. The lack of introspection and the practical impossibility of custom iterators for use with ForEach? are becoming serious thorns in my side, but testability is not really a problem. -- SteveJorgensen

There is also a new testing framework for VBClassic and VBA called VbLiteUnit.

Very Basic (and incomplete) History

Sites with VBClassic material of interest

* denotes sites that are confirmed to have new/revised material posted June2004 or later

VbClassic coding help from Microsoft NewsGroup



View threads


VbClassic use of CrystalReports

The vendor of the Crystal addin has grown leaps and bounds ever since it got associated with VisualBasic. In recent years its use has been extended to the nonMicrosoft environment as well. It is a hefty piece of software and hopefully the few tutorials, etc below can get people started.

VbClassic and Windows APIs

Until WindowsLonghorn arrive, windows programming will probably touch on the use of this dreaded API. Refer to http://www.vbexplorer.com/VBExplorer/wrox01.asp for some material for a quicker start.

VbClassic and Enterprise distributed application development

ObjectOriented and XmlEnabled and WebApplicationDesign appear to be the only way to go for Enterprise class applications.

This is a required combination due to these considerations:

In the case of VbClassic, corresponding spinoff pages for people with more interest are: These pages were started in early 2004.

Start with ComPlus overview at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncomser/html/complus4vb.asp.

An example VbClassic utility that straddle both ObjectOrientedProgrammingInVbClassic and VbClassicSupportForXmlProcessing is a COM Serialization tool, found at http://www.topxml.com/code/default.asp?p=3&id=v20030117160632&ms=20&l=vb&sw=categ

Anyone read this Integrating XML Web Services with VB6 Applications at http://www.ddj.com/documents/ddj0402b/ ?

Tools and components for VbClassic

Common Controls Replacement Project http://ccrp.mvps.org/

See also SoapToolkit

VbClassic limited edition

I got some help at WardsWiki in locating a freely available edition of VbClassic, version 5 control edition. Microsoft made this limited function program to encourage the creation of COM based ActiveX controls. Get it while it is still available, if you want to get some experience on VbClassic.

See link at VbClassicQuestions

VbClassic and Internet enabled applications

See http://www.devx.com/getHelpOn/10MinuteSolution/20373 for article on the use of WinInet? api that was designed to abstract HTTP, FTP and Gopher protocols

A tutorial on WinInet? is found at http://www.garybeene.com/vb/tut-inet.htm, and a sample dialup VB project is at http://www.vbip.com/wininet/wininet_dialup.asp

VbClassic News and developments

Service Pack 6 is here (March 2004). Discussions at http://groups.google.com/groups?th=12b91fce456a0123 that includes guru Karl Peterson

Some background on the disturbing VB switcheroo: http://www.i-programmer.info/professional-programmer/i-programmer/2465-classic-vb-is-20-and-still-missed-by-many.html

A US baseball analogy: http://msdn.microsoft.com/en-us/magazine/dn745870.aspx

I know this is a VB page.. but..

Also checkout delphi. If you are afraid of run time libraries that VB relies on, and you wish to have more power available later on like C++ has...Delphi bridges the gap. I looked into VB and C++ years ago, and both were close to what I needed, but delphi had so many more bridges between the gap. One other reason I picked it was because of a nice Newsgroup (free usenet) they have and good web directories like Torry and DelphiPages?. I was debating picking it, because of popularity factor .. but it is highly followed and almost any question you have is answered on newsgroups.


EditText of this page (last edited October 11, 2014) or FindPage with title or text search