twinBASIC Update: March 5, 2023

Highlights include the addition of MonthView and DatePicker controls, new methods, properties, and events, and a note about the twinBASIC splash screen.

twinBASIC Update: March 5, 2023

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

MonthView and DatePicker Controls Added

They can be found in the "WinNativeCommonCtls" tab of the form designer.

The date picker control is shown in red in the screenshot below and the month view control is shown in cyan.

New Methods, Properties, and Events

  • added: support for PaintPicture method on Form/PictureBox/UserControl
  • added: support for Form/PictureBox/UserControl Scale method
  • added: support for CausesValidation property and Validate events for all native controls

Around the Web

Hiding the twinBASIC Splash Screen

Over in GitHub, someone asked if there was an option to turn off the splash screen:

When I run compiled console app, the splash screen "twin Basic" is appearing.
Is it adjustable, to turn off?

This is likely a common question for many new users.  It's something I haven't mentioned on this site in awhile since it's not new functionality.

Longtime commenter FullValueRider provided the answer:

Easy.  Just buy a license.  The 64 bit community version has the splash screen.

If you need to hide the five-second splash screen in 64-bit builds–or if you'd just like to support the project–you can purchase a pre-order license here: https://twinbasic.com/preorder.html

That page also includes feature comparisons between the three available licenses:

  • Community (free)
  • Professional
  • Ultimate

This is also probably a good time for a periodic reminder that I am not a developer on the twinBASIC project, nor do I have any financial stake in the company.  I'm just a longtime Access developer with high hopes for what twinBASIC could mean for the Access community.

And if you'd like to learn more about the longterm plans for Access and twinBASIC, be sure to register for the upcoming Access DevCon Vienna online conference, where I will be presenting on the topic, "Exploring the Future of twinBASIC and Access Development."

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.

WARNING: The following issue is present in BETA builds 202 - 262 (the latest build as of publication):

  • there are known memory leaks in these versions, so memory usage will be higher than normal

BETA 256

  • fixed: internal JSON encoding was not handling unusual control characters correctly [ bclothier, discord ]
  • added: WinNativeCommonCtls.MonthView control
  • added: WinNativeCommonCtls.DTPicker control
  • fixed: type library viewer was showing strings incorrectly, with extra backslash escape characters [ fafalone, discord ]
  • fixed: (regression) go-to type definition not working inside packages [ sokinkeso, discord ]
  • fixed: (regression) some ActiveX properties were not display with appropriate editors in the form designer property sheet (e.g. OLE_COLOR not showing as a color picker)
  • fixed: (regression) [ RunAfterBuild ] attribute had stopped working due to change in DAP thread behaviour
  • fixed: PictureBox 'Object is invalid or no longer set' error when containing form is reloaded [ https://github.com//issues/1505#issuecomment-1445126730 ]
  • fixed: runtime validation of array bounds was ignoring incorrect dimension count [ https://github.com//issues/1503 ]

BETA 257

BETA 258

  • added: support for PaintPicture method on Form/PictureBox/UserControl

BETA 259

  • improved: stack overflow and similar native system exceptions are now reported in the debug console
  • improved: system exceptions occurring when evaluating form designer properties are now caught and reported inline in the property sheet [ https://github.com//issues/1512 ]
  • added: detection of ActiveX controls that are not compatible with DataExecutionPrevention (DEP) with notice to disable DEP (e.g. gif89)
  • improved: toolbox icons for WinNativeCommonCtls refreshed [ big thanks to sokinkeso! ]

BETA 260

  • added: support for Form/PictureBox/UserControl Scale method
  • added: support for CausesValidation property and Validate events for all native controls
  • improved: all native icons now refreshed, big thanks to sokinkeso

BETA 261

  • fixed: (regression) 'bad json received' message appearing in the IDE since BETA 256 [ https://github.com//issues/1515 ]
  • improved: further enhancements to form designer toolbox icons [ sokinkeso ]
  • fixed: 'ambiguous method' error when trying to use Form/PictureBox/UserControl PaintPicture method in some instances [ gremlin, discord ]

BETA 262

  • fixed: GDI font handle leak in instances when the FontSize property is set at runtime [ https://github.com//issues/1516 ]

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