DataFlex 2023 Alpha 2 Release Notes
This page lists the specific changes in DataFlex 2023 between Alpha 1 and Alpha 2.
See What's New in DataFlex 2023 for all new features in DataFlex 2023.
CodeSense on SQL Queries
- The Studio will now help write SQL queries by supplying CodeSense in your SQL statements. This feature is available when using @SQL strings in the language or when editing .sql files with the Query Tester.

Aligned Multiline Strings
When embedding foreign code like SQL, JavaScript, or HTML into DataFlex code, you can use a multiline string. A new style of multiline string has been added that allows better alignment with the rest of your code without adding excessive whitespace to the actual string at runtime. These strings use the triple quote notation and have the advantage that you can embed quotes in your source code.
Get SQLExecDirect of ghoSQLExecutor @SQL"""
SELECT Phone_Number
FROM Customer
WHERE Customer_Number = 33
""" to aResult
Move """
function hello(sName) {
window.alert("Hello: " + sName);
}
hello("world");
""" to sJavaScript
Multi-Line Comments
/* Multi-Line comments
have been added
to the DataFlex language. :-) */
See Comments for details.
Customizable Context Menu for the WebList
The context menu available on the header of cWebLists and cWebGrids can now be customized. This can be done by overriding or augmenting OnCreateDefaultHeaderMenu, or by setting pbUseCustomerHeaderMenu and adding a context menu (see cWebMenuColumnList) inside the WebList object. A new context C_WebUIContextListHead is available in the cWebContextMenu to address the header of the WebList.
Improved Query Tester
Besides being enhanced with CodeSense, the Query Tester has been extended with the ability to show multiple result sets and can execute partial SQL statements by selecting the text before executing. The user interface for displaying errors and when no result set is available has also been improved.
Improved Parameterized Query Syntax
Among many bug fixes, the SQL Executor's class parameterized query syntax has been changed. Due to conflicts with SQL variables, named parameters are now placed in the query with the ${name} syntax. Note that when setting a parameter value using SQLSetParameter, only the name is supplied. The handling of different types like dates and numbers by SQLSetParameter has also been improved.
Send SQLPrepare of ghoSQLExecutor @SQL"SELECT Customer.Phone_Number FROM Customer WHERE Customer.Customer_Number = ${CustId}"
Send SQLSetParameter of ghoSQLExecutor "CustId" 33
Get SQLExecute of ghoSQLExecutor to aResult
Other Improvements
Query Tester
- Added support for multiple result sets.
- Added ability to only execute highlighted SQL code.
- Added CodeSense for SQL queries.
- If a query execution creates multiple result sets, the user can scroll between the result sets.
- Query errors are now displayed in the results grid instead of unhandled Studio errors.
Runtime and Packages
- Adjusted casing of classes, properties, methods, and parameters from
cSql...tocSQL.... - Added
ghoErrorHandler, which is available for both Windows and Web.ghoWebErrorHandleris now a replacement, andError_Info_Objectis a replacement foroErrorHandler. - Added new Codejock Commandbars Themes available in Codejock 22:
xtpThemeNativeWindows10xtpThemeWindows10DarkxtpThemeOffice2016AccessBlackxtpThemeVisualStudio2015BluextpThemeVisualStudio2017BluextpThemeVisualStudio2017BlueExtraxtpThemeVisualStudio2017DarkxtpThemeVisualStudio2017LightxtpThemeVisualStudio2019BluextpThemeVisualStudio2019BlueExtraxtpThemeVisualStudio2019DarkxtpThemeVisualStudio2019LightxtpThemeVisualStudio2022BluextpThemeVisualStudio2022BlueExtraxtpThemeVisualStudio2022DarkxtpThemeVisualStudio2022Light
Studio
- Added Database toolbar.
- Fixed expressions in Properties Panel and added improved multiline support for expressions.
- Changed keyboard shortcut to open a new SQL Query from
Ctrl+QtoAlt+Q.
Bug Fixes
Installation
- Fixed a bug when installing and unchecking the "Do not configure IIS" installation option, regardless of whether IIS is installed in Windows or not.
DFPathin Registry Defaults has double backslashes (\\) inDFPath.
New Embedded SQL API
- Calling
SQLExecDirectwith a single variable instead of an array crashed with an access violation. - Using the same parameter twice does not work.
Include_Text
Include_Textwas including a BOM; now UTF-8 is always assumed.
Studio
- Properties Panel: Web Properties filter was shadowed in FlexTron classes/objects.
- Improved Debugger Performance with Strings.
- Studio crash after using CodeSense scrollbar.
- Studio may crash when the code complete list is up.
- Added
@SQLto CodeSense suggestions.
FlexTron
- Studio crashes when pressing
F7while a FlexTron control is selected. - Preview web component in Web Mobile Zoom View Wizard triggers script errors.
DownloadUrldoes not work when opening a new window.
Query Tester
- "Save All open Files" did not save unsaved queries.
- "Save As" dialog for a new query can now be canceled.
- Saving a query will not suggest the same name repeatedly.
- Unsaved queries can now remain unsaved (a save is not forced) when running a program.
- Using the same parameter name twice puts it in the list twice.
WebApp Framework
- Web Column Headers now have auto wrapping to avoid adding
<br>, usingpbAllowHtml. - The cWebDynamicObjectContainer class did not implement
OwnerCancelClientAction, causing an error when doing aGridRefreshon acWebList/cWebGridcreated as a dynamic object. - Corrected shadow of
WebContextMenuinDf_Material. - The check symbol of the checkbox inside the header of the
cWebColumnSelectionIndicatordid not align nicely inFlat_Touch,Flat_Desktop, and Material themes. - Fixed a bug triggering an error when selecting multiple rows in a
cWebMultiSelectList. - API Change: Fixed an issue in which
df.dom.removeListeneranddf.eventsAPIs were not requiring afListenerwhen detaching. If not provided, a warning is thrown in the console log. cWebSuggestionFormandcWebTagsFormnumeric lookup did not find any items.cWebSuggestionFormandcWebTagsFormno longer have suggestions cut off.cWebTagsForm:- Fixed a caching issue when using
pbPaged. - Fixed an escaping issue when using
pbFullText.
Database Explorer
- Index grid on indexes tab-page was not read-only.
Runtime
- When
SortArrayis called with an array with a missing element, a GPF occurred.
WinPrint
- WinPrint 23.0 does not run if DataFlex 20.1 is not installed.
Miscellaneous
- Remaining FlexCOM 1 classes/packages have been removed (obsolete since DataFlex 8.x).