twinBASIC Update: July 29, 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

Mini Form/Report Editing Toolbar

BETA 585 adds a mini toolbar for quick formatting of certain controls in the designer:

Edit Label Captions in Place

BETA 586 added support for editing captions without having to switch over to the Properties pane and find the Caption property.

To take advantage of this feature, click on the label in Designer mode, then click on the pencil icon on the far left of the mini toolbar as shown below:

Discord Chat Summary

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

twinBASIC Weekly Update: July 22-29, 2024

This week saw significant progress in twinBASIC's development, with new features added to the IDE and continued community support for the project. The team released two beta versions and made strides in improving the user interface and debugging capabilities.

Key points from this week's discussions:

  • BETA 585 introduced a mini toolbar for selected items in the designer, enhancing the user interface and improving workflow efficiency.

  • BETA 586 added in-place editing of captions, further streamlining the design process for forms and controls.

  • The community discussed potential future features, such as "run to cursor" functionality for debugging, which is planned but not yet implemented.

  • Developers encountered and resolved issues related to form loading syntax, highlighting the importance of proper method calls (e.g., MidArea.Show instead of Show MidArea).

  • There was a discussion about generic procedures and the use of VarType(Of T) to work around type-related errors in generic classes.

  • The twinBASIC team clarified that while function and type aliases are being considered for future implementation, general syntax aliases are not planned due to potential complexity and preprocessing requirements.

  • Community members reported and received solutions for various IDE-related issues, such as problems with adding references and scrollbar functionality in the diagnostics panel.

  • The project reached its funding goal for a server upgrade, thanks to generous donations from the community, including a significant contribution that pushed it over the finish line.

This week's developments showcase twinBASIC's ongoing evolution, with a focus on enhancing the IDE's usability and expanding its capabilities. The strong community support, both in terms of feedback and financial contributions, continues to drive the project forward. As twinBASIC approaches version 1.0, these incremental improvements and feature additions are laying the groundwork for a robust, VB6-compatible development environment with modern enhancements.


Addins Channel

This week's discussions in the twinBASIC Addins channel were brief but highlighted an important clarification about the channel's purpose and the current state of ActiveX/OCX component support in twinBASIC.

Key points from the Addins channel:

  • A new community member inquired about support for third-party ActiveX/OCX components, specifically mentioning tools from tools4vb.com and grid2000.com.

  • The user reported issues with these components not being recognized correctly or causing error messages and crashes in twinBASIC.

  • A clarification was provided that the #addins channel is specifically for discussing add-ins for the twinBASIC IDE itself, not for general add-ins or components used in twinBASIC projects.

  • Users were directed to report errors and bugs related to third-party components either on GitHub or in the #bugs channel of the Discord server.

  • It was noted that add-ins (in the general sense) should work with twinBASIC, suggesting that support for ActiveX/OCX components is intended to be part of the twinBASIC functionality.

This week's brief exchange in the Addins channel underscores the ongoing process of integrating support for existing VB6 components and tools into twinBASIC. While the project aims to maintain compatibility with VB6 add-ins and components, users may encounter issues that need to be reported and addressed. The twinBASIC team continues to work on improving compatibility and resolving issues with third-party components as part of their development process.


Documentation Channel

This week's activity in the twinBASIC Documentation channel was minimal but highlighted the community's appreciation for the ongoing documentation efforts. While there were no specific updates or changes to the documentation itself, the discussions emphasized the importance of comprehensive documentation for the project's growth and adoption.

Key points from the Documentation channel:

  • Community members expressed strong support for the continued development of twinBASIC documentation, recognizing its crucial role in the project's success.

  • A user specifically mentioned the value of the documentation for those who are less experienced or new to twinBASIC, emphasizing how essential it is for learning and adoption.

  • There was particular praise for the documentation work done by community member fafalone for twinBASIC. A user commented that if the vbRichClient (RC6) project had documentation of similar quality to what fafalone has produced for twinBASIC, RC6 might have achieved even wider adoption than it currently enjoys.

  • This comparison highlights the significant impact that high-quality documentation can have on a project's adoption and success in the developer community.

  • The comments reflect a general sentiment that thorough and accessible documentation is a key factor in promoting wider adoption of programming frameworks and tools among developers.

The comparison to RC6 serves as a testament to the quality of fafalone's work and underscores how crucial good documentation is for the success and adoption of programming tools and frameworks.

Around the Web

Nothing new this week.

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.

AI-Generated Changelog Summary

* Auto-generated via Claude-3.5-Sonnet, sorted in order of its opinion of "most impactful changes."

Here's a concise summary of the notable updates in twinBASIC:

  • Enhanced Form Designer:
    • Added a mini toolbar under selected controls, providing quick access to formatting options
    • Introduced in-place editing of captions in the form/report editor
  • UI Improvements: Fixed a regression where Timer controls were invisible in the designer by restoring their associated icon

WARNING: The following issues are present in BETA builds 546 - 586 (the latest build as of publication):

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

BETA 585

  • added: mini toolbar under selected controls in the form designer, offering quick options for bold/italic/underline/fontsize and alignment [ commissioned work ]

BETA 586

  • improved: form/report editor now allows for in-place editing of captions [ commissioned work ]
  • fixed: (regression) Timer controls had no icon associated with them in the designer, appearing invisible