twinBASIC Update: August 25, 2024

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:


Highlights

Improved Excel Automation Support Coming Soon???

Over in GitHub, someone posted the following "bug" report a few weeks ago: ActiveX DLL cannot used as Excel automation addin.

In a clarifying reply, the OP explained what they were looking for:

Excel automation addin is an ax dll to add user define formula functions which can call in worksheet.
which is different from VBA VBE addin as well as Com AddIn
for example: write in Range A3
=MyAdd(A1,A2)

Based on that description, I believe what the OP was looking for was how to create an XLL add-in. In my mind, that's less of a twinBASIC language feature and more of a scenario that would benefit from a good twinBASIC Sample project. (Though it's entirely possible I am hand-waving over a lot of technical challenges, as none other than fafalone pointed out.)

I assumed the issue was dormant for now–at least until after the release of v1–and then I saw this juicy morsel from Wayne in the replies:

.Just to let you know, this issue is fixed in the upcoming release of twinBASIC - due for release this week.

And so now I've been mashing the refresh button on the twinBASIC Releases page, waiting to see exactly what Wayne means when he says "this issue is fixed".

"Significant" Update Due Soon

Progress update from Wayne posted today (August 25, 2024):

A little update from me: despite the lack of public updates, things are progressing well. My available time during the summer holidays is very fragmented and so I'm mostly tackling important technical debt rather than issues that require more contiguous blocks of concentration time.

The next update is a little delayed but will be significant. Not long to go! I hope to get a release out this coming week.

"VIP Silver" Package?

Several months ago, Wayne offered a perpetual license option alongside the more typical subscription licenses. Unfortunately for those independent/hobby developers who were looking for a one-time purchase option, the "VIP Gold" package was likely not exactly what they had in mind:

This exclusive licence is offered to individual developers at GBP £5000.

To this American, two-and-a-half tons seemed like a hefty price to pay. Having posted weekly updates on the project for over three years, I'm as excited as anyone about twinBASIC–but even I wasn't sure it would be worth the weight.

Well, it turns out that five thousand British pounds works out to about $6,600 US dollars.

In my defense, the whole system is very confusing:

Given the stout price tag of the VIP Gold package–and the general Yankee confusion regarding the real price of the offering–Wayne is apparently considering a lower-priced "Silver" option:

Additionally, we're considering offering a "VIP Silver" package which will be a price and feature reduced version of the existing "VIP Gold" package (https://twinbasic.com/vip.html).

We've had a lot of interest in the VIP Gold package, but most didn't notice the listed price tag, with that license being particularly targetted at larger businesses.

If you'd be potentially interested in the reduced VIP Silver package, feel free to reach out to me on here to discuss your needs.

Discord Chat Summary

* Auto-generated via Claude-3.5-Sonnet-200k on poe.com

Here's a summary of the key points from the twinBASIC Discord general channel transcript for the week of August 17-25, 2024:

The twinBASIC community continues to actively discuss language features, bug reports, and potential improvements. Here are the main highlights:

• A bug was identified where project compilation constants in settings were no longer being applied to packages after version 423. The development team acknowledged this as an unintended change that needs to be addressed.

• There was discussion about how to properly define and pass array parameters in interface members, particularly for DirectX-related functions. The developer clarified that const arrays are passed as a single pointer to contiguous array data, essentially using ByRef semantics.

• Questions arose about integer ranges in 32-bit vs 64-bit executables. It was clarified that twinBASIC maintains the same integer limits as VB6, with LongLong available for 64-bit integers in twinBASIC.

• Several community members shared and discussed various implementations of random number generation functions, including methods for generating random longs and handling user-specified ranges.

• The lead developer, Wayne Phillips, provided an update on the project's progress. Despite a lack of public updates, work is continuing with a focus on addressing technical debt. A significant update is expected in the coming week.

• A potential new "VIP Silver" package was announced, which would be a price and feature reduced version of the existing "VIP Gold" package. This is in response to interest from users who found the Gold package pricing aimed more at larger businesses.

In conclusion, the twinBASIC community remains active in discussing and refining language features, with ongoing work on both bug fixes and new capabilities. The upcoming release promises significant changes, and the potential new pricing tier suggests efforts to make twinBASIC more accessible to a wider range of users.

Around the Web

WinDevLib Updates

fafalone released an update to his fantastic Windows Development Library twinPACK.

The new version includes "tons of bug fixes", including one that prevented compilation in 64-bit builds.

Included in the list of bug fixes was a fix for a known issue that required calling code to use VarPtr() as a workaround for the bug.

The good news is the bug fix means the VarPtr() workaround is no longer needed.

The bad news is any calling code that implemented the workaround will break when updating to the latest version of WinDevLib.

For a full list of affected arguments, refer to fafalone's note in Discord. (NOTE: Be sure to click the "Expand" link in Discord to see all affected arguments.)

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.