twinBASIC Update: March 11, 2026
Highlights include a demo of twinBASIC's upcoming support for running 32-bit ActiveX DLLs in 64-bit tB EXEs, plus the alpha launch of Karma Kargo, a trading game written in tB.
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
32-bit DLLs in 64-bit twinBASIC
Last week in this spot, I wrote the following:
No new releases or major announcements this week. It was also relatively quiet in the Discord server. My ongoing suspicion is that Wayne is working through some complex challenge, like making 32-bit 3rd party ActiveX DLLs run in 64-bit address space in twinBASIC.
And lo, the very next day, Wayne posted this in the Discord server:
Another demo of the upcoming out-of-process ActiveX support, allowing for 64-bit tB EXEs to host many 32-bit-only ActiveX controls
Demo starts in 32-bit mode, and then you'll see me switch it to 64-bit mode. Seamless 🙂
Shows controls that are not available as native 64-bit controls at all (e.g. SharpGrid, old iGrid, Sheridan controls etc) all working well in a 64-bit twinBASIC project.
There is of course a performance difference due to the extra interprocess communication happening behind the scenes, but this is often not noticeable at all It can be seen in the population of the TreeView, where populating 2000 nodes programmatically is 7x slower (but still only 200ms). The performance here is something we can work on after the first release.
There is a whole class of 32-bit-only ActiveX controls still in use today for which twinBASIC may be their only realistic path forward for future support.
Discord Chat Summary
* Auto-generated via Claude-Sonnet-4.5
Overview
The week brought significant technical progress with Wayne demonstrating out-of-process ActiveX support for 64-bit executables, while the community celebrated the February challenge winner and witnessed an impressive AI-assisted game development showcase. However, the anticipated v1.0 release timeline has shifted, with Wayne indicating important news coming in the next couple of weeks. Community members also explored AI coding tools and troubleshot various technical issues.
Out-of-Process ActiveX Controls
- waynephillipsea demonstrated out-of-process ActiveX support allowing 64-bit twinBASIC executables to host 32-bit-only ActiveX controls seamlessly, with controls like SharpGrid, old iGrid, and Sheridan controls working in 64-bit projects. The implementation uses dedicated IO threads on each side with duplex shared memory streams, with one server EXE currently hosting all OOP controls (though per-control processes are possible later).
- Performance overhead from interprocess communication is noticeable but often minimal—populating 2000 TreeView nodes is 7x slower but still only takes 200ms. waynephillipsea noted this architecture will serve as the backbone for multithreading support coming in twinBASIC v2.
- datinex_54872 emphasized the production value for corporate systems using third-party 32-bit components, particularly for PCI systems with components like SecureBlackbox and custom OCX controls built over 20 years.
- mansellan highlighted that Wayne single-handedly accomplished what took Microsoft's entire team to achieve for WinForms designer 64-bit support, though waynephillipsea clarified that .NET doesn't support 64-bit hosting of 32-bit AX controls—the referenced article discusses out-of-process .NET designers, whereas twinBASIC's form designer has been out-of-process from the beginning.
Release Timeline & Development
- waynephillipsea confirmed the project is behind the previously indicated March 19, 2026 v1.0 release schedule, stating "There will be important news coming in the next couple of weeks."
- IDE improvements continue with glevz praising the ability to group controls and change common properties, plus align and resize multiple selected objects simultaneously—features that significantly improve upon VB6's limited multi-select capabilities.
Community Projects & AI-Assisted Development
- nolongerset unveiled Karma Kargo, a deterministic island trading game built entirely in twinBASIC with extensive AI assistance, featuring zero-dependency executable with SQLite statically compiled via twinBASIC's
Import Libraryfor.objfiles. The project showcases a custom GDI+ widget kit built from scratch using WinDevLib, with double-buffered rendering, 16-level clip stack, and comprehensive widget library (buttons, labels, links, listboxes, textboxes, sliders, checkboxes, progress bars). - The game demonstrates advanced twinBASIC features including generics (
ContentRepository(Of T)), interface inheritance (IContentEntity Extends IEntity), native bitshift operators for Xorshift128 PRNG, binary literals with digit grouping,LongLongwith^suffix for overflow-safe 64-bit hash math, method overloading, short-circuitIf()operator, andCollection.Exists()for O(1) key lookup. - nolongerset explained that traditional drag-and-drop UI builders work against AI coding velocity, leading to the decision to draw everything with GDI+ calls—Claude Opus 4.6 excels at GDI+ code generation while WinDevLib eliminated the need for declare statements. However, Claude consistently struggled with twinBASIC's lack of block scoping, repeatedly creating
Dim Obj As New clsObjectinside loops, causing all collection objects to point to the same instance despite explicit warnings in project documentation. - Initial release (v0.1.0) encountered runtime errors due to missing files, quickly addressed in v0.1.1, though DPI scaling issues remain at settings above 100%.
AI Tools & Development Practices
- fafalone and sokinkeso identified Claude as the best AI tool for twinBASIC development, with Claude managing new twinBASIC syntax well when converting C/C++ interface definitions—impressive given no such feature exists in VB6/VBA. Claude likely learned twinBASIC by scraping GitHub repositories with twinBASIC code and leveraging its knowledge of VB6/VBA, often defaulting to VBx-compatible code unless specifically instructed to use new twinBASIC syntax.
- sokinkeso and okas_o emphasized that proper AI-assisted development requires reviewing 100% of generated code, not just 2%, with woeoio2 noting that genuine project development involves constant review, debugging, and conformance checking throughout the process.
Technical Discussions
- fafalone identified a complex edge case for x64/API conversion where
CONTEXThas natural alignment of 16 due toM128Atypes with forced alignment of 16, requiring careful padding in structures with#pragma pack(4)to ensure both member placement at 16-byte intervals and overall size as multiple of 16—highlighting the value of WinDevLib for handling obscure edge cases and the future need forDECLSPEC_ALIGN(n)support in twinBASIC. - fafalone encountered a puzzling DirectCompute issue where a twinBASIC port of working C++ code reports success but produces incorrect results, with the bizarre outcome that executables built on desktop work on tablet but not on desktop itself.
Community Highlights
- waynephillipsea announced [EJ] as the winner of the February 2026 challenge and launched the March monthly challenge.
- mshe7ata reported a rare issue where all controls appear visually hidden during design-time on Windows 11 Insider Preview Build 26220.7961, though controls display correctly at runtime—waynephillipsea suggested closing IDE, disabling antivirus, and performing full system restart, as this issue hasn't been reported by other users.
Conclusion
The week showcased twinBASIC's growing maturity with groundbreaking out-of-process ActiveX support that surpasses Microsoft's own .NET implementation, while the community demonstrated the language's production readiness through sophisticated projects like Karma Kargo. Though the v1.0 timeline has shifted with important announcements pending, the technical foundation continues strengthening with advanced features enabling both traditional development and modern AI-assisted workflows. The combination of WinDevLib's comprehensive API coverage, twinBASIC's modern language features, and AI tools like Claude is enabling developers to build complex applications with unprecedented velocity, though the importance of thorough code review remains paramount regardless of development approach.
Around the Web
Karma Kargo v0.1.0 Released
From my announcement in Discord:
...the February challenge inspired me to create a game. It's in early beta right now, but it's fully playable. And I have big plans for its future. Stay tuned.

The project is in its very early stages of life, but it already makes use of some key features of twinBASIC:
- Embedded version of SQLite = single .exe with no dependencies
- WinDevLib = saved writing 100's of Windows API
Declarestatements - Generics = used to help create a simple, from-scratch ORM
- Future cross-platform support = the from-scratch GDI+ UI framework is completely isolated behind Interface classes to enable future iOS, Android, and Linux-based implementations
Changelog
Here are the updates from the past week. You can also find this information by visiting the GitHub twinBASIC Releases page.
- Nothing new this week.