twinBASIC Update: July 15, 2026

Highlights include the addition of fafalone as an official member of the twinBASIC dev team, a target date for the LLVM beta release, and a sample tB BITS implementation.

twinBASIC Update: July 15, 2026

On April 23, 2021, I helped Wayne Phillips introduce the world to twinBASIC at the Access DevCon Vienna conference. I boldly predicted that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025. (And I was oh so close...) With that goal in mind, this weekly update is my attempt to keep the project fresh in the minds of the VBA development community.

Every Sunday Monday week, I will be providing updates on the status of the project, linking to new articles discussing twinBASIC, and generally trying to increase engagement with the project. If you come across items that should be included here, please leave a comment below.

Here are some links to get involved with the project:


Highlights

fafalone Joins the twinBASIC Dev Team

Following last week's announcement about the strategic private investment in twinBASIC, Wayne Phillips officially welcomed longtime tB advocate and prolific sample tB project developer John Johnson (aka, fafalone) as a paid member of the development team.

"Jon has been one of twinBASIC's most passionate supporters and contributors for years.  He's consistently demonstrated both exceptional technical ability and a genuine desire to help the community succeed.  Having someone with his knowledge now contributing directly to the platform is a fantastic step forward, and I'm delighted to be working with him."
- Wayne Phillips (twinBASIC creator and lead developer)

John noted that core compiler development will remain with Wayne, but that there are lots of ancillary tasks that he can do to lighten the burden on Wayne moving forward.

Jim Drew looks for an LLVM progress update; VanGoghGaming volunteers fafalone; fafalone clarifies it's not in his job description...yet

You can read the full press release here: TWINBASIC LTD Welcomes Jon Johnson (fafalone) as Software Development Consultant.

Next twinBASIC Beta Release Scheduled for August 7th

The new release will include new contributions from fafalone (now a member of the official dev team) and LLVM optimization work.

fafalone dropped a preview of some of the items he's been working on:

just to give you all a peek at the kind of things i can do for tB, coming hopefully soon, features like completing the ListView– now has ListSubItems, sorting (including a new logical sort mode like Explorer uses), and all the other mscomctl features, and support command button images when visual styles are on, with new HotPicture and DefaultPicture options. FontQuality options for all controls, TopLevelWindow for Forms, .Point now working... all things that have been finished in principal and moved into review/more thorough testing

Discord Chat Summary

* Auto-generated via Claude Sonnet 5

Overview

This week was dominated by major business news for twinBASIC: the announcement of a strategic investment round and the appointment of long-time contributor fafalone to a formal role on the tB team, both of which drew an outpouring of community congratulations. Alongside the celebration, technical discussion continued on inheritance mechanics, property-change notification events, and a handful of bugs, while Wayne confirmed a concrete release date for the next build. Community engagement was very high this week, with the appointment announcement generating one of the largest reaction counts seen recently.

Business & Community News

  • waynephillipsea announced that TWINBASIC Ltd. had secured strategic investment and that fafalone had been appointed to help "accelerate development and expand the team," news that generated overwhelming community celebration.
  • fafalone thanked the community, stating he's "looking forward to helping make tB a success," while long-time members noted this recognizes his years of contributions and advocacy.
  • Community members debated whether third-party VB6 component vendors would take notice of the investment, with bclothier observing that tB is now over five years old, arguing the "will it still be around" question has effectively already been answered by its longevity.
  • A minor site issue was reported (an SSL certificate error on the announcement page), but Wayne and several members confirmed it was isolated to one user's corporate firewall, not a real certificate problem.

Feature Development & Roadmap

  • fafalone previewed a batch of upcoming work including a completed ListView control (ListSubItems, sorting with a new logical/Explorer-style sort mode), full mscomctl parity, command button images with visual styles enabled (new HotPicture/DefaultPicture options), FontQuality options across controls, TopLevelWindow support for Forms, and a working .Point.
  • waynephillipsea confirmed the next release is planned for Friday, August 7th, and will bundle all of fafalone's new work along with the LLVM optimization improvements.
  • A teacher from Indonesia shared enthusiasm for eventually introducing twinBASIC in the classroom once curriculum constraints allow it, reflecting continued grassroots interest in the language.

Language Enhancements

  • Discussion clarified the roles of form attributes preserved during VB6 import: fafalone explained that FormDesignerId links a class to its .tbform designer, while PredeclaredId is required for VB6-style default instance behavior (e.g., Form1.Show).
  • waynephillipsea and bclothier discussed edge cases around reusing the same FormDesignerId across multiple form classes and demonstrated sharing a form design via inheritance, though noted that base class Load events currently don't fire correctly when a derived form uses PredeclaredId.
  • fafalone highlighted an undocumented feature allowing derived classes to override a base class's property-change handler via Overrides Base.HandlePropChange, and noted that OnPropertyLet/OnPropertyGet notification events work outside built-in packages but aren't yet documented; Wayne confirmed these are designed only as notifications, and fafalone added a basic write-up to the new features list.

Bug Fixes & IDE Behavior

  • fafalone reported a discrepancy where declaring and assigning an HDC type via Dim...As HDC = nullHwnd.GetDC() compiles, but splitting the declaration and assignment into two lines throws a "cannot convert HDC to Long" error; waynephillipsea confirmed this is a bug.
  • A community member shared a VB6 compiler trivia bug where a division-by-zero-adjacent optimization path could crash the VB6 IDE's EXE compiler with an internal compiler error, noting tB is unaffected since it doesn't yet perform this kind of optimization.

Community Support & Discussion

  • A member asked about plans for native custom UI controls in the Form Designer/Toolbox without requiring ActiveX/OCX implementation; waynephillipsea confirmed this is planned, likely arriving more fully in v2, building on the existing CustomControls sample support.
  • twixydon asked about stray gray lines appearing on imported VB6 forms; bclothier explained these are form "attributes" preserved from VB6's binary compatibility plumbing, now made visible in the IDE.
  • A nostalgic thread emerged around Visual Basic for DOS and QuickBasic 4.5/PDS 7.1, with several long-time members trading memories of pre-Windows BASIC development.

Conclusion

This week marked a significant milestone for the project, with the investment announcement and fafalone's new role signaling growing institutional momentum behind twinBASIC's development. Technical work continued steadily in parallel, particularly around inheritance and property notification internals, while Wayne's confirmation of an August 7th release date gives the community a clear near-term target. Combined with fafalone's preview of substantial control and LLVM improvements, the week reflects strong forward momentum heading into the next release cycle.

Around the Web

twinBASIC BITS Sample Project

Posted by fafalone in show-and-tell:

Windows has a built in download/upload service for transfers, the Background Intelligent Transfer Service (BITS). I've made a class to wrap the core functionality of this service, which lets you have a non-blocking multithreaded download/upload running simply by submitting a job– a list of urls and local files– that reports back progress as events. The class also provides additional methods for status, options, and transfer control. It can be dropped into any project, just needs the Windows Development Library for twinBASIC package in References->Available packages.

Requires an updated WinDevLib – v9.3.709 or higher, since there was a bugfix and API standards change to a couple BITS interfaces I made for this project.

Check out the project repo on GitHub:

GitHub - fafalone/cBITSTransfer: Using the Background Intelligent Transfer Service for advanced downloads/uploads.
Using the Background Intelligent Transfer Service for advanced downloads/uploads. - fafalone/cBITSTransfer

Changelog

Here are the updates from the past week. You can also find this information by visiting the GitHub twinBASIC Releases page.

Releases · WaynePhillipsEA/twinbasic
Contribute to WaynePhillipsEA/twinbasic development by creating an account on GitHub.
  • No new releases this week.

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