DataFlex 2021 Alpha 2 Release Notes
This is a partial log of the changes between Alpha 1 and Alpha 2.
Updated Database Drivers for MSSQL, DB2 and MySQL
One of the main goals for Alpha 2 was to complete the update of the
Unicode / 64-bit database drivers (Alpha 1 stated this process but was
limited to MSSQL) for DB2 and MySQL.
DataFlex-Level Changes
- Changed Alpha 1 references to Alpha 2 in Start Center
- SQLFetchResultsetValues will no longer generate "Invalid Cursor
State" error for non existing result set.
- Updated versions of db2_driverdef.xml and odbc_driverdef.xml (used
by the Studio)
- Updated versions of driver .int files (latest with fixed typos)
- Fix for psValue of DEO's. The web property number support broke
the psValue implementation of cWebBaseDEO.
- Added WOW64 constants to RegistryAPI.pkg
- Fixed typo in WebFloatingPanel
- cList in VDFOEMAnsi and VDFRepair was not converted to unicode
– fixed.
- Corrected forward send of Construct_Object & End_Construct_Object
cases reported by Sture.
- Removed hard-coded reference to 265 for WebAppServerProps table
- Enabled warnings for old registry commands
- Fixed typo in error message in cWebServerPropHandler.pkg
- DoAttachProcess was changed to a function to the improved error
handling for the webapp object, but not for the asp object. Changing
back Get DoAttachProcess into Send DoAttachProcess solves this.
- Removed WebApp Server key structure under the WOW6432Node (32bit)
structure.
- Installation - Double threadstacksize registry key for 64bit
- Changed various references from Alpha 1 to Alpha 2
- Fixed DoAttachProcess – Web framework applications that do not
include cWebAspClassicObject would not compile. Added a Register_Procedure
to prevent compile errors.
- For ASP Classic web applications, addressof returns 0 for emty
strings so the memcopy failed causing a few bytes of garbage to be
returned – fixed.
- Made determination of mime type case insensitive,
- Fixed TVM_EDITLABEL define in Commctrl.pkg.
- Added new Flush_Output command.
- Type changes for 64-bit in Dftreevw.pkg.
- Creating a new database left the wrong error object. Fixed the
bug and added checks & errors for recursive error handling during
conversion.
- Added flush log for each write during the data conversion process
to assist in debugging.
- Do not set DF_FILE_RECNUM if not needed.
- Added extra log for troubleshooting crashes during data conversion.
- Dfstatbr.pkg had code that had an invalid conversion to WString
when it expects an integer array. Fixed it to also use an integer
array in DataFlex.
- Renamed Byte function to UCharToString.
- Corrected showing DefaultFormHeight and DefaultFormSpacing in the
workspace properties panel.
- Implemented OnCollapse & OnExpand events in cWebGroup.
- CodeSense will show Windows_Message procedure parameters as LongPtr,
not integer.
- Added new map schema's MAP_DF_TO_SQL_TYPE_UNICODE and MAP_DF_TO_SQL_TYPE_NON_UNICODE
in db2_drv.int.
- Wizards were still letting the editor load files as OEM causing
some extended characters to be lost in conversion.
- Added byte function and C_BOMUTF8 constant.
- Converted the wizards to write source code as UTF-8 with BOM.
- Added missing image file in material theme.
- Initial pbAutoTab implementation in cWebForm.
- Added the OnKeyPress event with parameters iCharCode and iKeyCode.
Note that it relies on the default event delay for not firing too
often.
- Implemented new autocomplete property on cWebForm and cWebEdit
that maps directly to the autocomplete html attribute.
- Changed the login screens in the templates and the samples to set
autocomplete for username and password.
- Tested/supported ODBC driver: MySQL ODBC 8.0 Unicode Driver Version
8.0.18 or later. New setting: Character_Data_Handling utf8.
- phoSoapClientHelper is an object handle and thus should be set
to 0 not "".
- Updated translation from Marcia for dferr001.dat.
- Changed short to integer in cScrollingContainerMixin.pkg.
- Swapped connect/repair and conversion menu items in database builder
to match the studio.
- Implemented basic UnSyncWebProperty. For now it only works on client
web properties.
- Added platform: 32-bit / 64-bit to system information.
- Corrected password hint for new workspaces.
- Fix for psValue with localization changes.
- Changed rights to license files in installation.
- The reset to system file in database explorer did not work because
of a missing line in the DoMakeSysFile routine.
C-Level Changes
- FillField: removed copy DF_LOW / DF_HIGH in the buffer.
- Improved reading of collation file.
- Compiler: Increased max line length for reading first line to read
the BOM.
- Adjusted conversions in wascint from OEM to UTF-8.
- MySQL Insert in table with autoincrement column caused error.
- Fill_Field will fill fieldbuf with all 'z' or all space.
- Find EQ with Fill_Field on index segments is now explicitly handled.
- Native length/buffer change for DF_TEXT and DF_BINARY
columns.
- Bugfix: Constrained_Find would sometimes invalidate Find_Cache.
- Performance improvements on debugger string handling.
- Trimming of trailing spaces in compare.
- Added Flush_Output command.
- Fix for saverecord update where clause.
- FieldGetString was losing the null terminator in the translation.
- Refactoring of WHERE clause logic.
- Changes to handle DB2 SQL_GRAPHIC and SQL_VARGRAPHIC types.
- DB2_DRV, ODBC_DRV default type DF_ASCII columns now SQL_VARCHAR.
- FindTable case insensitive compare on table name.
- Fixed BOM issue causing compile to fail.
Documentation
Language Reference
- Added UCharToString function.
- DF_FILE_SQL_FILTER, DF_FILE_SQL_FILTER_EQ, DF_FILE_SQL_FILTER_ACTIVE:
Added info that these are the global table filter and linked them
to pbApplyGlobalSQLFilters.
- Corrected and updated DF_DRIVER_MAP_DFxxx and DF_DATABASE_MAP_DFxxx
attributes.
- Added Flush_Output command.
- Added return types to all global function pages.
- Removed Append command from Functions list in TOC.
- WebRegisterPath: added links to Class Ref for eNavigationMode (NavigateForward,
NavigateForwardCustom and NavigateBegin).
- Corrected sample code in DF_Database_Default_Database.
- Corrected ZeroString function sample.
- Updated list of modes to DF_File_Mode and a Value column.
- Added DF_SYSDATE4_STATE. It’s obsolete (since Sysdate is obsolete),
but available for reference.
- Added note that TimeSpan values cannot be negative.
- Added doc for RandomHexUUID And SeqHexUUID.
- Corrected DateSetMonth: it cannot be used with TimeSpan (DateSetMillisecond
– DateSetDay can).
- Removed some external See Also pages.
- Misc. edits.
Development Guide
- Updated Type Mapping pages.
- Numerous grammatical errors on Meaningful URLs and History Management
Page.
- Fixed links.
Connectivity
- Added Type Mappings page to Type Mappings index entry.
- Updated type mappings for current CK. Updated multiple pages with
info for current CK.
- Added lots of links, updated some sample code.
Class Reference
- Filled many of the placeholder articles for:
- DataDictionary:
- cApplication
- cClientWebService
- cSQLStatement:
- cWebApp
- cWebColorForm
- cWebCombo
- cWebDynamicObjectContainer
- cWebErrorHandler
- cWebGeoLocation
- cWebHtmlList
- cWebIFrame
- cWebList
- cWebObject
- cWebResourceManager
- cDbCJGridColumnSuggestion
- cHttpTransfer
- cJsonHttpTransfer
- cRegistry
- cUIObject
- Added help on using dynamic SQL filters and examples.
- Added doc for peWordBreak.
- Updated ConnectionIds function explanation of returned connection
array.
- Improved doc on accessing state hash.
- Updated cRegistry class with new constants and information about
Registry Redirection.
- Improved peDataType, piPrecision and psMask and added examples
for web classes.
- Added missing ByRef to code sample in NavigateForwardCustom.
- Added samples for clearing Foreign_Field_Option.
- Clarified descriptions for clearing Field_Option.
- Added sample of clearing all field options to Field_Options.
- Corrected Field_Options samples that used obsolete methods.
- Added sample of clearing all foreign field options to Foreign_Field_Option.
- Reviewed and clarified Field_Options and Foreign_Field_Option doc.
- Added a real world sample to web OnValidate.
- Added a real world sample to web PositionToValue and ValueToPosition
for cWebSlider.
- Removed references to ASP from cWebResourceManager class.
- Added doc for psResourceUrl and psUploadUrl.
- Replaced error 4140 with DFERR_NO_DELETE_RELATED_RECORDS_EXIST
In Operation_Not_Allowed sample.
- Added better information and samples to web-based classes OnLoad
event.
- Improved doc for Which_Data_Set.
- Added doc for server-side nullable data type support to cWebService
class.
- Added doc to parameter of cWebBaseDEOServer.DeleteConformation.
- Corrected psMask on Web to use correct constant (it was using the
same constants as the Windows psMask version).
- Added sample of throwing Data_Set_Error to Field_Validate_msg.
Language Guide
- Added Data Types index entry.
- Simple Types page was missing ULongptr
- ULongptr Type link to ULongptr was broken
- Removed incorrect references to null on Declaring Variables page.
Studio
- Added explanation that the debugger shows the Unicode replacement
character for characters in strings and UChar arrays outside the ASCII
range (>127).
- Added usage information to main Data Dictionary Modeler page.
- Added info to Description Studio meta-data tag where the description
is displayed in a running web service.
What's New
- Updated main 2021 page
- Added information about setting up DB2 and MySQL environments
- Adding information about memory use in WebApps
- Added links to other new doc
- Added Alpha 2 Change Log
See Also
What's New in DataFlex 2021