twinBASIC Update: October 30, 2022

Highlights include better PNG handling, improvements to the custom menu builder, and support for a NumbersOnly textbox property.

twinBASIC Update: October 30, 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

Native Handling of PNGs

From Wayne:

Global.LoadPicture now supports PNG files as of BETA 159.   Note that the OLE provided version of LoadPicture does not.

New GUI Properties, Methods, and Events Implemented

Listed below are all the newly implemented form and control properties, methods, and events:

The full list of GUI items yet to be implemented is available here.

Around the Web

64 bit COM for 64 bit MS Access

Over on the Microsoft.com forums, Shaffiq Shokri asks:

I have a COM DLL written in VB6 which I have the code. It was compiled and registered to use with 32 bit MS Access. ... The problem is how to rewrite and recompiled it so it can be used in 64 bit MS Access. Can anyone show me any website where I can learn this?

Access MVP Tom van Stiphout offers twinBASIC as a potential solution:

If you have the source code, one idea is to put that code in Access itself, as modules and class modules.

Another option would be twinBASIC: https://twinbasic.com/preview.html

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.

BETA 156

  • fixed: LongLong bit shifts (<< and >>) on win32 were not working correctly [ https://github.com//issues/1289 ]
  • fixed: font inheritance of controls during import from VBP [ https://github.com//issues/1189 ]
  • fixed: newly added controls to a form will now inherit their font settings from the parent form [ https://github.com//issues/1189 ]
  • fixed: bracket colorization now switched off inside comments and attributes [ fafalone, discord ]
  • improved: redirections from some internal VB dll exports also allowed from vbe7/vbe6, not just msvbvm60 now [ wqweto, discord ]
  • improved: FontName properties in the form designer now offer a drop-down list [ https://github.com//discussions/1292#discussioncomment-3948593 ]

BETA 157

  • added: TextBox.NumbersOnly property [ https://github.com//issues/1295 ]
  • fixed: compiler crash [ https://github.com//issues/1297 ]
  • improved: CTRL+UP/CTRL+DOWN now navigates between procedures in the code editor [ wqweto, discord ]

BETA 158

  • fixed: crash during VBP import for some projects
  • fixed: nested Frame controls have incorrect font [ gremlin/Krool, discord ]
  • fixed: ReDim statement was ignoring datatype suffixes [ https://github.com//issues/1305 ]

BETA 159

  • improved: Global.LoadPicture now supports PNGs [ https://github.com//issues/1282 ]
  • improved: control Picture properties now support PNGs directly without IDE conversion to bitmaps

BETA 160

  • improved: increased transparency of invisible controls in the form designer [ fafalone, discord ]
  • added: IDE option 'Less transparency for invisible controls' to return the previous BETA transparency level
  • improved: better handling of corrupt PNGs in Global.LoadPicture
  • improved: menu editor context menus now offer Cut/Copy/Paste functions to allow movement across menus [ https://github.com//issues/1299 ]

BETA 161

  • fixed: packages now follow the standard reference prioritization rules [ https://github.com//issues/1296 ]
  • improved: code that is conditionally excluded via compiler directives no longer applies bracket colorization [ fafalone, discord ]

BETA 162

  • improved: tweaked data entry for new menu entries [ https://github.com//issues/1309 ]
  • fixed: some anchored control quirks with windowless controls [ https://github.com//issues/1310 ]
  • improved: more accurate folding range data that also helps the sticky-scroll feature

BETA 163

  • improved: tweaked ComboBox/ListBox Items/ItemData array data-entry in the form designer [ sokinkeso, private ]
  • fixed: VBx allows for ambiguity in DLL Declares to be ignored provided the DLL entry points are identical, and the parameter types match exactly [ rexxitall, discord ]
  • fixed: unrecognized compiler directives now ignored if they inside a conditionally compiled dead code block [ rexxitall, discord ]
  • fixed: changing just the case of a character within a control name on the form designer property sheet is now allowed [ fafalone, discord ]

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