> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# twinBASIC Update: August 25, 2026
- URL: https://nolongerset.com/twinbasic-update-august-25-2026/
- Published: 2026-08-26T03:59:00.000Z
- Updated: 2026-08-26T04:08:36.000Z
- Description: Highlights include an update to a community twinBASIC webcam sample application and...umm...quiet anticipation for the upcoming LLVM beta release.
- Author: Mike Wolfe
- Tags: twinBASIC Weekly Update

*On April 23, 2021, I helped* [*Wayne Phillips*](https://twitter.com/WaynePhillipsEA/) *introduce the world to* [*twinBASIC*](https://www.twinbasic.com/) *at the* [*Access DevCon Vienna*](https://www.donkarl.com/devcon/) *conference. I* [*boldly predicted*](https://nolongerset.com/devcon-2021/) *that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025\. (And I was* [*oh so close*](https://www.youtube.com/watch?v=LCxfObwA7E8)*...) 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***](https://nolongerset.com/how-to-install-twinbasic/)
- [*twinBASIC Discord Server*](https://discord.com/invite/UaW9GgKKuE) *(*[*chat about the project*](https://github.com/WaynePhillipsEA/twinbasic/discussions/629)*)*
- [*twinBASIC Documentation*](https://docs.twinbasic.com/) *(list of* [*new features*](https://docs.twinbasic.com/Features/) *not in VBx)*
- [*GitHub Issue Tracker (report bugs)*](https://github.com/WaynePhillipsEA/twinbasic/issues)

---

## Highlights

### Quiet Week

No new official announcements from Wayne this week.

Next scheduled beta release with LLVM support is still presumably on track for September 4 (next Friday).

## Discord Chat Summary

\* *Auto-generated via Claude Sonnet 4.6*

### Overview

This week's discussion centered heavily on WinDevLib bug fixes, a deep dive into `On Error` performance characteristics, and several UI/IDE quirks reported by newer community members. Engagement was steady with detailed technical back-and-forth, particularly around bitwise operations, error-handling overhead, and a subtle Variant/With-block edge case. Community troubleshooting also played a strong role, with several bugs identified and fixed in real time.

#### WinDevLib & Graphics Fixes

- **fafalone** identified and fixed multiple bitshift-related bugs in WinDevLib, including a broken `MakeARGB()` function that was returning only the Blue channel due to Integer/Long type mismatches in shift operations.
- The root cause was subtle: `1 << 16&` behaves differently than `1& << 16` because unqualified shift operands default to Integer, silently truncating results in constructs like enum bit-packing for version constants.
- **deletedewd** proposed a shift-free `MakeARGB` implementation using a `RGBQUAD` struct overlay, which **twixydon** later benchmarked as the fastest of all tested versions (faster even than the fixed WinDevLib version), with credit also going to a VanGoghGaming variant.
- Community members noted the native tB functions `RGBA`, `RGB_R`, `RGB_G`, `RGB_B`, and `RGBA_A` as reliable alternatives to manual bit-packing.

#### IDE & UI Bug Reports

- **twixydon** and **deletedewd** resolved a PictureBox transparency issue at runtime, tracing it to the control's gray background; **fafalone** suggested using `TransparencyKey` and noted that targeting Windows 8.1+ in project settings may be required.
- **braja\_07733** reported a UserControl repaint bug where moved child controls leave a visual trail; **fafalone** requested a minimal repro in #bugs, as the issue hadn't been seen before.
- **deletedewd** found that defining a form-level `Property Get Enabled` breaks internal `GraphicsBase.OnPaint` logic with an "Unknown Name" error on unload, since it collides with the internal owner-lookup call; renaming to `IsEnabled` resolved it.
- **dannyb1896** experienced a display bug where code/forms wouldn't render despite reinstalling twinBASIC; clearing the `HKEY_CURRENT_USER\...\twinBASIC_IDE` registry key resolved it, though the fix cost the user their saved license key (to be reissued by Wayne).

#### Project File Structure Roadmap

- **braja\_07733**, coming from VB6, asked about storing forms/classes/modules as separate physical files for easier backup and Git version control.
- **fafalone** confirmed that only packages currently support external file linking, but noted that full support for external forms/classes/modules is planned as part of the **v1.0 feature list**.

#### Language Behavior: Variant & With-Block Edge Case

- **fafalone** raised a GitHub-sourced edge case: assigning a String to a Variant and using it in an empty `With` block causes an `E_FAIL` "Unspecified Error" in tB, whereas VB6 allows it silently.
- **deletedewd** and **fafalone** debated whether this represents a VB6 quirk or bug; the consensus leaned toward this being VB6 permissiveness that shouldn't necessarily be replicated, since a Variant containing a String should not be treated as an object reference.
- **ubehage** suggested it may have been an intentional VB6 design choice — no error until an actual invalid operation occurs — a sentiment echoed by **deletedewd**, who noted this defensive coding pattern (checking `VarType` before referencing members) is valid and common in real-world VB6 code.

#### Error Handling Performance Deep-Dive

- **dr.bobby** shared Claude-generated benchmarks suggesting `On Error` handlers introduce measurable overhead even without triggering errors, sparking a lengthy technical discussion.
- **bclothier** clarified that VBx compilers emit `Err`\-state scaffolding for every statement regardless of whether errors occur, unlike C, which has zero implicit overhead; he humorously compared VB's model to a "sedan with airbags" versus C's "bare frame with no body."
- **wqweto** confirmed that `On Error Resume Next` is measurably slower specifically because the `Err` object must be populated on failure, citing the common case of checking Collection key existence being \~10x slower when the key is missing.
- **twixydon** later found the original benchmark methodology flawed (overflow errors were being triggered internally); after correcting the test to avoid actual errors, no measurable performance difference was found between error-handled and unhandled procedures.
- **deletedewd** reiterated **Wayne's** prior guidance that avoiding `Resume` statements remains valuable for enabling LLVM-based compiler optimizations, even if raw `On Error` overhead is otherwise negligible in non-error paths.

### Conclusion

The week's activity reflected the community's growing focus on correctness and performance nuances as twinBASIC matures toward its v1.0 milestone, particularly around WinDevLib reliability and low-level language semantics inherited from VB6\. Bug reports were resolved quickly through collaborative testing, and the error-handling performance discussion productively corrected initial benchmark misconceptions. Continued interest in file-structure improvements and LLVM-friendly coding patterns signals steady progress toward broader v1.0 goals.

### 

## Around the Web

### WebCam Capture Sample Project Updated

[Posted by fafalone](https://discord.com/channels/927638153546829845/1539249403079172156/1539783470778294292) in show-and-tell:

> **Project updates:** Added options to adjust brightness, contrast, etc, if available, and also zoom, if available.  
>  
> Now uses WIC to allow saving as JPG or PNG in addition to BMP. The name picker dialog box for save also implements a customization to add a 'Quality' entry box for JPG.  
>  
> Minor UI updates and binary release. New screenshot:

![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2026/08/image-15.png)

**Project repository:** <https://github.com/fafalone/WebcamCapMF>

[GitHub - fafalone/WebcamCapMF: Using MediaFoundation to capture webcam stillsUsing MediaFoundation to capture webcam stills. Contribute to fafalone/WebcamCapMF development by creating an account on GitHub.![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/icon/favicon-7684c4fe-4740-4d5d-92ca-4f38d27c8d40.png)GitHubfafalone![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/thumbnail/WebcamCapMF-862273a4-282b-4338-98ce-ad3af3b758d1)](https://github.com/fafalone/WebcamCapMF)

## Changelog

Here are the updates from the past week. You can also find this information by visiting the GitHub [twinBASIC Releases page](https://github.com/WaynePhillipsEA/twinbasic/releases).

[Releases · WaynePhillipsEA/twinbasicContribute to WaynePhillipsEA/twinbasic development by creating an account on GitHub.![](https://github.githubassets.com/favicons/favicon.svg)GitHubWaynePhillipsEA![](https://opengraph.githubassets.com/13bf5f13278e5633e644e312c6a75cfe0baf97f01dd45660573b36f5de0ee945/WaynePhillipsEA/twinbasic)](https://github.com/WaynePhillipsEA/twinbasic/releases)

- *No new releases this week.*
- *Next release is tentatively scheduled for September 4, 2026.*