UKAUG 2024: twinBASIC: Past, Present, and Future

Links and resources from my talk today at the UK Access User Group 2024 Autumn Conference at the historic University of Oxford.

UKAUG 2024: twinBASIC: Past, Present, and Future

Slide Deck

TwinBasic-UKAUG-2024.pdf

Presentation Recording

Check back later for a link to a recording of the presentation.*

*NOTE: Recording availability is subject to approval from conference organizers.

This section includes links referenced in my slide show. These are also embedded in the Slide Deck PDF available for download above.

PAST: What is twinBASIC?

twinBASIC Features
General user documentation for twinBASIC. Contribute to twinbasic/documentation development by creating an account on GitHub.

Progress Update

fafalone - Overview
Moving from VB6 into the modern world with @twinbasic : Projects in this repository are for tB unless otherwise specified. For my VB6 projects, see VBForums. - fafalone
GitHub - fafalone/WinDevLib: Windows Development Library for twinBASIC
Windows Development Library for twinBASIC. Contribute to fafalone/WinDevLib development by creating an account on GitHub.
twinBASIC 12-MONTH ROADMAP · Issue #335 · twinbasic/twinbasic
twinBASIC ROADMAP Dates given are tentative and subject to change. Only the major issues are listed here. Smaller feature requests will be implemented when most appropriate (usually when we are alr...

PRESENT: How Can You Use It?

WinDevLib: A Better Way to Call Windows API Functions in twinBASIC
Stop struggling to declare your Windows API calls in twinBASIC. Use the Windows Development Library twinPACK and let fafalone do all the hard work for you.
HOW TO: Create a Custom ActiveX Control with twinBASIC
Did you ever wish you could build a custom control for Microsoft Access forms and reports? With twinBASIC, that’s a 15-minute project.
Add ribbon controls · Issue #34 · joyfullservice/msaccess-vcs-addin
I would prefer a ribbon control over the current add-in menu. I have a ribbon branch I am working on. It works when looking at the version control add-in itself, loads automatically. I haven’t figu…
Building PhotoDemon with twinBASIC
PhotoDemon is one of the most complex VB6 open-source projects still actively maintained. And you can build it yourself in about 10 minutes with twinBASIC.
Microsoft Announces the Death of VBScript
As seems to be their new modus operandi, Microsoft has quietly rolled a hand grenade into the VBA development world with very little fanfare.

Custom ActiveX Components

HOW TO: Creating an Office COM Add-in with twinBASIC
Ever wish you could turn your VBA code into a COM add-in that would run in 32- AND 64-bit Office applications? It’s easier than ever with twinBASIC.
HOW TO: Handle Excel Events in a twinBASIC COM Addin
You can now use twinBASIC to create a COM add-in for Excel that handles Excel Application events like NewWorkbook and WorkbookOpen.
HOW TO: Create a Custom ActiveX Control with twinBASIC
Did you ever wish you could build a custom control for Microsoft Access forms and reports? With twinBASIC, that’s a 15-minute project.

VBIDE Addins and Standard DLLs

HOW TO: Create a Tool Window in the VBIDE with twinBASIC
Move over Rubberduck VBA and MZ-Tools. The next great VBE addin is going to be built with twinBASIC. Here are step-by-step instructions to get you started.
How VBA IDE Addins Get Loaded From the Windows Registry
A deep dive into how VBA IDE addins get loaded from the Windows Registry to help you avoid getting stuck in DLL hell.
HOW TO: Creating a Standard (non-ActiveX) DLL with twinBASIC
With twinBASIC, you no longer need C++ to build a standard DLL. Call high-performance code from VBA without needing the Windows registry.

Extend Access Apps: VCS Addin

Add ribbon controls · Issue #34 · joyfullservice/msaccess-vcs-addin
I would prefer a ribbon control over the current add-in menu. I have a ribbon branch I am working on. It works when looking at the version control add-in itself, loads automatically. I haven’t figu…

Migrate VB6 Apps: PhotoDemon

Building PhotoDemon with twinBASIC
PhotoDemon is one of the most complex VB6 open-source projects still actively maintained. And you can build it yourself in about 10 minutes with twinBASIC.

FUTURE: What Lies Ahead?

twinBASIC 12-MONTH ROADMAP · Issue #335 · twinbasic/twinbasic
twinBASIC ROADMAP Dates given are tentative and subject to change. Only the major issues are listed here. Smaller feature requests will be implemented when most appropriate (usually when we are alr…

Installing the twinBASIC IDE

HOW TO: Install twinBASIC
The latest step-by-step instructions for installing twinBASIC (aka, Visual Basic 8).

Getting Involved with twinBASIC

twinBASIC Welcome

The official twinBASIC website.

twinBASIC 12-MONTH ROADMAP · Issue #335 · WaynePhillipsEA/twinbasic
twinBASIC ROADMAP Dates given are tentative and subject to change. Only the major issues are listed here. Smaller feature requests will be implemented when most appropriate (usually when we are alr...

twinBASIC 12-month development roadmap (updated 2023-01-29).

Home
General user documentation for twinBASIC. Contribute to twinbasic/documentation development by creating an account on GitHub.

Official documentation on the twinBASIC wiki.

twinBASIC Debut Video at DevCon 2021

If you had never heard of twinBASIC prior to today's presentation, the video below will provide some much-needed context. It does a good job of covering the new language features introduced with twinBASIC.

Keep in mind, this presentation took place about a week after the very first alpha release of the twinBASIC language. Let's just say, the project has progressed more than just a bit since then.

The video is available on YouTube:

twinBASIC First Birthday Video at DevCon 2022

Karl invited me back the following year to provide an update on twinBASIC after its first full year of development. The video includes multiple live demos of real world use cases for integrating twinBASIC into Microsoft Access and the VBA development environment.

The video is available on YouTube:

twinBASIC + Access: Future Plans at DevCon 2023

For the third year in a row, Karl brought me back to provide my now-annual update on the progress of twinBASIC. The focus in this presentation was how twinBASIC might integrate with Microsoft Access one day. I covered how twinBASIC will–and also will not–likely be used by Access developers in the future.

The video is available on YouTube:

DevCon 2024: VBIDE Addin Creation with twinBASIC

In my fourth annual DevCon Vienna talk, I demonstrated how this modern programming language can enhance Microsoft Access development.

Through a hands-on demo, I showed how quickly developers can create and customize Access add-ins using twinBASIC, with a special focus on creating strongly-typed collection classes–a task that's traditionally cumbersome in VBA. I highlighted key improvements to the development environment and showcased the new Windows Development Library package that simplifies API calls.

The video is available on YouTube:

HOW TO: Articles

HOW TO: Create a Tool Window in the VBIDE with twinBASIC
Move over Rubberduck VBA and MZ-Tools. The next great VBE addin is going to be built with twinBASIC. Here are step-by-step instructions to get you started.
HOW TO: Creating an Office COM Add-in with twinBASIC
Ever wish you could turn your VBA code into a COM add-in that would run in 32- AND 64-bit Office applications? It’s easier than ever with twinBASIC.
HOW TO: Handle Excel Events in a twinBASIC COM Addin
You can now use twinBASIC to create a COM add-in for Excel that handles Excel Application events like NewWorkbook and WorkbookOpen.
HOW TO: Create a Custom ActiveX Control with twinBASIC
Did you ever wish you could build a custom control for Microsoft Access forms and reports? With twinBASIC, that’s a 15-minute project.
HOW TO: Creating a Standard (non-ActiveX) DLL with twinBASIC
With twinBASIC, you no longer need C++ to build a standard DLL. Call high-performance code from VBA without needing the Windows registry.

Additional Reading

Version Control with twinBASIC in 2024
Step-by-step instructions for integrating version control into your twinBASIC development operations in 2024.
Generic Objects in twinBASIC
twinBASIC supports generic objects! Let’s dig into the details with a practical example.
New Syntax in twinBASIC: Part 1
Let’s cover some new syntax in twinBASIC, including “AndAlso/OrElse”; the ternary If() operator; and “Continue For” and its cousins.
New Syntax in twinBASIC: Part 2
Let’s cover some more new syntax in twinBASIC, including parameterized class constructors, method overloading, and return syntax for functions.
New Syntax in twinBASIC: Part 3
There’s even more new syntax in twinBASIC, including the IsNot operator, initializing on declare, and augmented assignment operators.

WAAAY More Additional Reading

The link below will take you to the "twinBASIC" tag page on my website, where you will find every twinBASIC article I've written, including more than 50 twinBASIC weekly update articles dating back to May 2, 2021.

twinBASIC - No Longer Set
twinBASIC is a modern version of the classic BASIC programming language, with the goal of providing 100% backward compatibility with existing VB6 and VBA projects.

Every twinBASIC article I've ever written (or will write in the future).

twinBASIC Weekly Update - No Longer Set
The twinBASIC Weekly Update is published every Sunday. I highlight notable changes to the project over the previous seven days, provide updates on twinBASIC discussions around the web, and include the project changelog. It’s a great way to follow along with the next revolution in BASIC programming…

I have written a weekly update on twinBASIC every Sunday since its debut at Access DevCon Vienna in 2021.

All original code samples by Mike Wolfe are licensed under CC BY 4.0