twinBASIC Update: November 12, 2025
Highlights include the formation of a new business entity in advance of the upcoming v1.0 release and a new GitHub repo of VB6 > tB conversion demos.
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. 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:
- Custom twinBASIC IDE Installation Guide
- twinBASIC Discord Server (chat about the project)
- twinBASIC Wiki (list of new features not in VBx)
- GitHub Issue Tracker (report bugs)
- twinBASIC/VBx LinkedIn Group
Highlights
Formation of TWINBASIC LTD
As more proof that twinBASIC is closing in on an actual v1.0 release, Wayne recently reorganized his business (presumably) to prepare for the launch. Details are available here: Important Update - Formation of TWINBASIC LTD.

Effective Monday, 10th November 2025, all business operations previously conducted by Wayne Phillips (trading as iTech Masters), including all twinBASIC and EverythingAccess products and services, are being transferred to a newly formed UK limited company: TWINBASIC LTD.
Why the change?
After over 20 years of trading as a sole proprietor, this marks a major milestone in the evolution of our business. Forming a limited company provides a stronger structure for future growth, clearer legal and financial separation, and greater long-term security for both our customers and our team.
Importantly, nothing about who we are is changing. The same people will continue to operate and support our products and services, led by Wayne Phillips, founder and principal developer of twinBASIC, and supported by Louise Phillips who continues in her role as Sales & Administration Assistant.
Who we are
TWINBASIC LTD is a UK-registered private limited company (Company No. 16590181) wholly owned and operated by Wayne Phillips, the founder and developer of twinBASIC. The company’s mission is to continue supporting and developing twinBASIC and EverythingAccess products, ensuring a secure and sustainable future for our customers and community.
What this means for you
For most customers, nothing changes day-to-day. You’ll continue to:
- Access your licences, downloads, and updates as usual
- Receive the same high-quality support and communication
- Be billed or invoiced under the new company name
The only visible difference will be that TWINBASIC LTD now appears as the official business entity on all correspondence and documentation.
Honestly, the main impact this change has on the twinBASIC community is that it has led to a roughly weeklong delay of the next BETA release:
![[Discord Screenshot]: WaynePhillipsEA: Just a quick note to let you all know that the next twinBASIC update will be slightly delayed. As some of you know, we're completing the incorporation process for TWINBASIC LTD, and there have been a few unavoidable complexities involved in getting everything properly transitioned. The next release is now planned for Monday 17th November. Regretfully a short delay, but things will then be back on track. Apologies, and thanks as always for your patience and continued support!](https://nolongerset.com/content/images/2025/11/image-5.png)
Discord Chat Summary
* Auto-generated via Claude-Sonnet-4.5
Overview
The week saw significant business developments with Wayne announcing the formation of TWINBASIC LTD, while the community engaged in deep technical discussions about WinRT implementation, struct alignment challenges, and the controversial topic of DoEvents. Notable progress was made on WinRT integration for VBA, with extensive work on proper type alignment and async operations.
Business & Development Updates
- waynephillipsea announced the formation of TWINBASIC LTD, marking an important milestone in the project's commercialization and legal structure
- Next twinBASIC update delayed to November 17th due to incorporation complexities and intellectual property transfer requirements
- waynephillipsea committed to revisiting generics in packages, addressing the current limitation requiring
mdlNamespacesmodule to be copied out of packages
WinRT Integration Progress
- deletedewd made substantial progress implementing WinRT features in VBA 64-bit, completing OCR, Speech Synthesis, Transcoding, and Video Thumbnail projects using DispCallFunc
- Released a 64-bit WinRT TypeLib package for VBA, enabling WinRT functionality without DispCallFunc complexity
- Successfully implemented Google OAuth2 with PKCE using WinRT components (StreamSocketListener, HttpClient, JsonObject) for email functionality
- Discovered and resolved struct alignment issues when passing HttpProgress structs ByVal in 32-bit, requiring manual padding between 8-byte members
Type System & Alignment Issues
- fafalone and deletedewd uncovered significant differences in how twinBASIC and VB6 handle Double alignment in structs
- VB6 uses 4-byte alignment universally, while twinBASIC aligns Doubles to 8-byte boundaries even when the containing struct is 4-byte aligned
- xelniya provided detailed analysis showing twinBASIC correctly aligns struct members to natural sizes but may not align the struct itself to 8-byte boundaries when containing 8-byte members
- MIDL-compiled typelibs show 8-byte Double alignment while mktyplib-compiled ones use 4-byte alignment
Community Support & Migration
- astrocalcvb2tb_63591 successfully imported a 100,000+ LOC VB6 project with 23 errors and 62 warnings, demonstrating twinBASIC's compatibility
- Identified issues with custom OCX controls (particularly resizer control) causing crashes during form loading
- Discovered DataChanged property on UserControl.Extender not yet implemented in twinBASIC
- CLI build command (buildAndExit32) confirmed broken in beta 895 but working in beta 870
DoEvents Debate
- Extended discussion on DoEvents usage sparked passionate responses from community members
- xelniya strongly advocated against DoEvents, describing it as making control flow exponentially harder to reason about
- bclothier drew parallels to .NET's GC.Collect() as another "magical pixie dust" solution
- Community consensus emerged that proper threading support would eliminate most legitimate DoEvents use cases
- mansellan outlined a roadmap for threading support: start with synchronization primitives, then CreateThread abstraction, Task objects, and finally async/await
Conclusion
The week marked a significant business milestone with TWINBASIC LTD formation while technical discussions revealed important differences in type alignment between VB6 and twinBASIC. The WinRT integration work demonstrated both the power and complexity of bridging modern Windows APIs with VBA, while the DoEvents debate highlighted the community's desire for proper threading primitives. With a successful 100K+ LOC project migration and continued refinement of core compatibility, the project continues its steady march toward v1.0 despite the brief delay in the next update.
Around the Web
Miscellaneous VB6 -> tB Demos
fafalone created a new GitHub project where he plans to post the conversion of dozens of VB6 demos to twinBASIC, showcasing the steps required to add 64-bit support to existing VB6 codebases. The projects highlight how fafalone's WinDevLib project can be leveraged to speed up and simplify the conversion of 32-bit-only Windows API calls to add support for 64-bit processes.
Here's his description of the repository:
Old VB6 demos of mine converted to tB with no additional features/notes.
All projects have been updated to use WinDevLib instead of oleexp.tlb and/or local API defs, and to support x64 builds.
And here's a short list of the initial projects included (visit the GitHub repo for links to the original VB6 implementations):
- IFileDialog64 - Using the new IFileDialog interface for customizable Open/Save.
- ITaskbarListDemo - Show an overlay icon, progress bar, custom thumbnail with buttons, and more on your app's Taskbar item.
- ShellLibrarySample - How to use the features of Win7+ Library folders.
- SendToDemo - Shows how to pop up the Send To context menu for files.
- MP3CoverArt - Add album art to mp3 files.
- VirtualFileDragDrop - Drag and drop files that aren't created until actually dropped.
Changelog
Here are the updates from the past week. You can also find this information by visiting the GitHub twinBASIC Releases page.
- No new releases this week. The release of the next BETA was postponed from 11 Nov to 17 Nov.
