Open Source Visual Basic

In the ’90s, VB was pretty much Microsoft’s only alternative to C/C++ for Windows development, attracting a large user base from hobbyists to professional developers. VB lost ground following the appearance of the .NET Framework in 2002. Many professionals switched to C#, the closest thing to a native language for .NET, and some who wanted to stick with VB found the changes from VB 6.0 to VB .NET difficult to accept, especially as it was incompatible with existing projects.

The biggest challenge is to get the community aware of OpenVB. By raising awareness, we can expect more contributions. In an ideal world, OpenVB should be used by everybody. Our ultimate goal is to make OpenVB a viable technology for everyday programmers.

Visual Basic still has a following though. Case insensitivity and a more English-like syntax seem to make it less intimidating than curly-brace languages like C#. VB is widely used in schools and retains some business usage. Microsoft has kept VB mostly on a par with C# in terms of language features, and both compile to similar IL (Intermediate Language) binaries so performance is similar.

Now program manager Lucian Wischik has posted details of what is coming in Visual Basic 14, part of the Visual Studio 2015 release now in preview. VB is part of the open-source wave at Microsoft, so as Wischik observes, the VB compiler will be open source as part of the project codenamed Roslyn. The current version is VB 12, so Microsoft is skipping unlucky version 13, to keep in synch with Visual Studio itself.

Then again, it’s confusing enough that Visual Studio “14” is also Visual Studio 2015. Never mind.

What’s new in VB 14? Perhaps the biggest annoyance fixed is that VB will now allow multi-line string literals, avoiding the need for unnecessary concatenations. There is also a new ?. operator which returns a nullable type rather than an exception if it references a property of a null object:

Microsoft’s commitment to Visual Basic is understandable. Microsoft BASIC (for the MITS Altair) was the company’s first product. Today though there are reasons to avoid VB. In the .NET world C# is the premier language, and VB has no real advantage.

Case insensitivity is more a liability than an asset. Some third parties, such as Xamarin and RemObjects, offer cross-platform compilers for C# targeting the Mac and mobile platforms, but not for Visual Basic. In education, any advantage in VB’s simplicity is outweighed by a more difficult transition to other languages such as JavaScript or Java.

There are developers who love VB though, and who see no need to move away. The good news for them is that Microsoft is keeping the faith.

Open-source is a burgeoning trend in the world of software, and it’s only going to become more popular in the years to come. There are a number of reasons why open source works so effectively, including its ability to quickly adapt to changing trends and its devotion to community involvement. And Visual Basic has been no exception to this phenomenon: the language benefits from many open source projects designed for both client- and server-side operation. The future of software depends on open source’s continued success, and Visual Basic is a shining example of this phenomenon in action.

UcsFiscalPrinters – Unicontsoft Fiscal Printers Component

UcsFP is a COM component that can be used to configure and operate fiscal printers that are popular in Bulgaria. The component supports printing fiscal and non-fiscal receipts, printing daily reports as well as configuring device settings (usually done by registered companies). UcsFP implements lowest-level protocols that are supported by the fiscal printers, usually sending native commands directly to the COM port the device is attached to.vb6fiscaldriver

UMMM – Unattended Make My Manifest

UMMM is a tool that can be using in automated builds to create manifests for registration-free COM activation. The tool uses an ini file that describes referenced COM/.NET components. All the classes and interfaces from a referenced component are extracted and included in the application (exe file) manifest at build time. Here is a sample multi-project solution with references between VB6 projects and references to external components.regfreecomvb

vbsqlite – Staticly compiled sqlite into a VB6 ActiveX dl

This project requires a custom linker that can selectively swap VB6 .obj files for C/C++ replacement (surrogate) .cobj files before linking final executable. First compile the included linker project from lib/linker directory (just 115 LOC), then locate LINK.EXE in C:\Program Files (x86)\Microsoft Visual Studio\VB98 and rename it to vbLINK.exe. After this copy link.exe from surrogate linker project to C:\Program Files (x86)\Microsoft Visual Studio\VB98.vb6sqlite

VszLib – 7-zip VB6 Helper

7-zip SDK supports several compression methods that can produce and read 7z, zip, gzip, tar, bzip2 and other archives. This is a VB6 helper component that makes using original 7z.dll in your VB6 projects possible. Before opening Src\VszLib.vbp register Src\SevenZip.tlb with regtlib.exe, VB6 IDE or your favorite typelib registration tool. You don’t need to redistribute SevenZip.tlb, it’s only needed in development environment.vb6seven-zipcompressionziplzm

ZipArchive – A single-class pure VB6 library for zip with ASM speed

Method Extract can optionally filter on file mask (e.g. Filter:=”*.doc”), file index (e.g. Filter:=15) or array of booleans with each entry to decompress index set to True. Sample utility function ReadBinaryFile in /test/basic/Form1.frm returns byte array with file’s content.vb6zipzlibaeszipcryptasmcompresscompression

proleap-vb6-parser – ProLeap ANTLR4-based parser for Visual Basic 6.0

An ANTLR4-based parser and grammar for Visual Basic 6.0asgsyntax-treeantlrvb6grammarparserantlr4-grammarantlr4ast

VbPcre2 – PCRE2 Wrapper for VB6

Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. The primary goal of this project is to have a comprehensive wrapper for PCRE2 in an ActiveX DLL for use in VB6 or other COM supporting languages.


By design, the Visual Basic language is actually a tool to help make writing code easier. The software that hosts the language — Visual Studio — is also highly sought-after in its own right, but that doesn’t mean it can’t be available for free. Open Source Visual Basic provides what you’re looking for. It offers the full featureset of licensed versions of Visual Studio on both Mac OS X and Windows, and it’s completely free. There are no limitations in terms of functionality or support, and new features are added all the time.


No Comment.