demarc

Program Conversion - Visual Basic 6


VB6 (and it's variants, which include all previous versions and a number of third party 'clones' for special purposes) is a very powerful programming environment.  Many users are concerned that Microsoft will quit supporting it in future operating system upgrades.  For the most part, this concern is unwarranted.  VB6 was released in the late 1990s, and at that time Internet oriented development tools were still somewhat limited.  Many users hope to replace the 'Winforms' application with a Web or WPF (Windows Presentation Format) equivalent to make their applications operable without having to install a package on each workstation.  Another concern, while less obvious, is that coding conventions at the time leave users exposed to the consequences of malicious behavior.  More geneally, programming from that time period was still 'spaghetti': programming conventions that emerged in the .NET world were rarely observed.

VB6 implentations on Web focused applications took the form of libraries that were invoked in ASP scripts and as 'middle tier' services.  These implemented business rules, 'backend' services, and the interface to a database, usally SQL Server.  These still work, although not very well, in ASP.NET environments.  Users are tempted to convert VB6 to VB.NET 'line-by-line'.  Depending on the original coding practices, this could propagate serious security issues.  Many of the services originally incorporate in VB6 COM .DLLs are now available through CLR libraries.  Migrations of this kind need to be thought out from the top down.

Programmers in the 1990s were often reluctant, or were not allowed, to create procedural logic in SQL databases.  This meant that processing steps that should occur purely within the database engine have to make 'round trips' between the server and the client workstation.  In some cases network traffic is severe enough to degrade response times.  Any conversion (or upgrade in place) should look carefully at how programs exchanges commands and data sets with the database.  Users might be amazed at some of the performance improvements that are possible with little investment at all.

VB6 has some 'hard coded' limitations, including a 32-bit addressing limit.  Oddly enough, Microsoft Access Visual Basic For Applications (VBA) is now available in a 64-bit version.  This creates a rather strange inversion: Access .accdb databases are limited to a 2GB file size, but the memory arrays within VBA could be 64 gigabytes!  Presumably data volumes on that scale would be handled with SQL Server, so the native Access database would only contain forms and program code.

For those that feel like their system is way overdue for an upgrade, please call 210-734-5575 for free initial consultation.

Or, eMail us at Info@ResourceLogic.net