twinBASIC Update: June 19, 2022

Highlights include improved support for 3rd-party ActiveX controls, a new location for tB IDE releases, and a discussion about where to put non-visual controls.

twinBASIC Update: June 19, 2022

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, 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, tweet me @NoLongerSet or email me at mike at nolongerset dot com.

Here are some links to get involved with the project:


Highlights

ActiveX Controls: Massive Improvements and Bug Fixes

Based on the activity in the Github project, it appears the main focus of Wayne's efforts over the past week centered around improving support for embedding third-party ActiveX controls on twinBASIC forms.

For example:

Around the Web

New Location for twinBASIC IDE Releases

The mega-IDE thread has been locked.  From moderator Ben Clothier:

Note: As per discussion on the discord, the thread will be now locked. The feedback will be split off into their own issues to aid tracking and avoid sprawling and potentially missing issues reported. If you have any issues to report about the beta, please open a separate issue going forward.

Furthermore, we are looking at improving how releases will be handled so do keep a eye for further update on how new releases will be announced here. Thanks!

And here is the aforeshadowed* announcement from Wayne:

From now on, all new releases will be uploaded to GitHub and available at the following link:
https://github.com/WaynePhillipsEA/twinbasic/releases

* Yes, I made this word up, but I think it fits in this very specific situation.

Section for non-visual controls

Ben Clothier opened up a discussion about how best to handle "non-visual" controls on twinBASIC forms.

For example, in Access and VB6 a timer "control" gets added to a form with layout properties like "Left" and "Top" despite the fact that the control will never be visible to the user at runtime.  This same behavior applies to certain ActiveX controls, such as third-party TWAIN controls for integrating with hardware scanners.  It's always felt weird to me that these types of controls–that cannot be made visible to the user–must still get laid out somewhere on the form in design view.

Of course, if you don't put those controls on the form grid somewhere, where do you put them?  That is an interesting question indeed.

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.

NOTE: Development of the twinBASIC VSCode extension is paused until 2023 so that efforts can be focused on the new IDE.  

BETA 57

  • improved: IDE control rendering, allowing many more ActiveX controls to render properly inside the IDE [ https://github.com//issues/903#issuecomment-1159370978 ]
  • fixed: BackColor now effective for controls with VisualStyles set
  • fixed: issue with UserControls and Implements-Via feature
  • fixed: Sample4: MyVBEAddIn regressions causing compilation errors

BETA 56

  • fixed: lots of issues with ActiveX property pages
  • fixed: SSTAB Click event not firing [ https://github.com//issues/905 ]
  • improved: form designer mouse click events are now passed through to the ActiveX HWND, allowing some controls like SSTAB to change tabs from the designer [ https://github.com//issues/905 ]
  • fixed: default names of new controls now match VBx [ https://github.com//issues/907 ]
  • fixed: 'Control' data type was not exposed publicly [ https://github.com//issues/912 ]

BETA 55

BETA 55 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_55.zip

BETA 54

BETA 54 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_54.zip

  • improved: ActiveX component can now show their custom property pages via the '(Custom)' property in the form designer
  • fixed: ActiveX controls z-order issue [ https://github.com/twinBASIC IDE -- BETA RELEASE #772#issuecomment-1152911326 ]
  • fixed: can't access Implements-Via proxy procedures inside a With block [ https://github.com/twinBASIC IDE -- BETA RELEASE #772#issuecomment-1152911326 ]
  • added: new IDE setting of 'IDE: Data Execution Prevention (DEP)', defaults to ON (needs to be off for some components, like gif89)
  • fixed: form Left/Top/Width/Height properties can now be set programmatically at runtime [ https://github.com/twinBASIC IDE -- BETA RELEASE #772#issuecomment-1152911326 ]

BETA 53

BETA 53 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_53.zip

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