As you may already know, we are a couple of months away from our next major update (v24.2). This post describes a few VCL-related features we expect to ship in early December and details what’s inside our Early Access Preview build (for additional information on what you can expect in our year end release, please refer to our Year-End v24.2 roadmap).
Active DevExpress VCL Subscribers can download our most recent EAP builds using the DevExpress Download Manager. If you do not own an active DevExpress VCL Subscription, you can also download our EAP demos using this link.
.png)
RAD Studio 12.2 Support
As you would expect, DevExpress v24.2 and v24.1.6+ officially supports Embarcadero's newest IDE (Delphi 12.2 and C++ Builder 12.2 for both 32-bit and 64-bit).
Please take a moment to test our EAP against these IDEs and let us know if you encounter any difficulties/issues. Your early feedback will help us better support RAD Studio 12.2.
Modern 64-bit C++ Compiler Support
Please let us know whether modern 64-bit C++ compiler support works as expected within RAD Studio v12.2. We have yet to decide whether we can push this Modern 64-bit C++ compiler in v24.1, and are estimating costs/risks for our user base (as you can appreciate, new IDEs and standard libraries bring new changes).
Deprecation of XE7 and XE8
For additional information about this change (in our v24.2 release cycle) refer to following: The DevExpress VCL installation no longer supports XE7 and XE8 of the RAD Studio Delphi and C++Builder IDE.
A Proof-of-Concept for Hybrid VCL Components (Powered by JS/DevExtreme Wrappers for Delphi)
Our GitHub demo application illustrates the benefits of hybrid VCL applications - apps that rely on a WebView component (an embedded web browser) in a native container app for Microsoft Windows. VCL developers can configure this JS widget using Delphi code and integrate JS HTML Editor commands with our VCL Ribbon control. The editor can also switch between light and dark CSS DevExtreme themes in response to changes between corresponding DevExpress VCL skins and palettes.
As you may already know, hybrid apps (apps that look like native apps for a given platform, but rely on JavaScript (JS) or other technologies inside) are becoming more and more prevalent in the marketplace. Good examples are desktop versions of Microsoft Teams and Visual Studio Code, which rely on a WebView (an embedded web browser) component inside a native container app for Windows, macOS, or Linux. DevExpress itself has been using JS wrappers in our .NET MAUI, Blazor, and even WinForms product lines for quite a long time (and lately for our AI-powered extensions - again thanks to our DevExtreme/JS and Blazor Hybrid components).
Experience tells us that in nearly all instances, deployment of a hybrid app rarely affects usability as internal JS components are generally fast, highly interactive, and support similar application themes. For application developers, the hybrid approach opens new opportunities, because of component availability (be it components from DevExpress or other third-party vendors). For example, VCL developers can then theoretically reuse the DevExpress JS Report Viewer/Designer inside their VCL apps in the future (much like our Blazor and WinForms teams reused the web chat component for their AI story). By pursuing this strategy, new reports can be created/designed at runtime and stored in a database, file system, etc.
If hybrid solutions make sense to you (or if they don't), please share your feedback with us in the survey below.
Layout Control Enhancements
VCL v24.2 incorporates the following usability enhancements for the DevExpress VCL Layout Control - all thanks to our community feedback in the Support Center (one, two, three):
- New Close and Open methods to TdxLayoutSplitterItem (along with the corresponding OnClosed and OnOpened events) so you control state in code, without complex inheritance. This change will also impact accessibility support, because you will be able to implement extended keyboard support for this layout item.
- An IsClosed flag to determine the state of TdxLayoutSplitterItem.
- An OnMoved event that provides information about splitter operations. Event arguments (TdxLayoutSplitterItemMovedEventArgs) allow you to access layout items delimited by the splitter, which triggered a movement operation (FarItem, NearItem). You can also determine the boundaries of delimited layout items before (OldFarItemBounds, OldNearItemBounds) and after (NewFarItemBounds, NewNearItemBounds) splitter operations. This will be helpful for advanced usage scenarios where the OnCanResize event is insufficient - simply said, you no longer need a complicated solution based on mouse down and up events.
- New AllowCloseOnClick property for TdxLayoutSplitterItem allows users to collapse or expand a layout item with a click on the splitter. Alternatively, you can check the Collapsible item in the splitter item's context menu in the Customization Form.
- New GetFarItem and GetNearItem methods for TdxLayoutSplitterItem designed to access far or near adjacent layout items.
Skin Editor Usability Enhancements
With v24.2, we made it easier for VCL developers to locate a list of skin elements. You can use the Control+Click combination to display a list of target UI elements (recommended). You can also use the Highlight Element menu command to highlight a required skin element from the Skin Editor preview area, much like our WinForms implementation (this option is less effective, because it is not always possible to unambiguously highlight the target UI elements).
.png)
Your Feedback Matters
Just another reminder that our What's New in v24.1 and EAP/Roadmap surveys give you the opportunity to communicate your needs/concerns so we can make more informed long-term component development decisions.
Once again, for additional information on what else you can expect in our year end release, please refer to our Year-End v24.2 roadmap (there are more enhancements to our charts, usability when working with skins and SVG icons, better Cloud API integrations, etc.).
Thanks,
Dennis Garavsky
Principal Product Manager
dennis@devexpress.com