DataFlex 2020 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.
SQLFetchResultsetValueswill no longer generate "Invalid Cursor State" error for non-existing result set.- Updated versions of
db2_driverdef.xmlandodbc_driverdef.xml(used by the Studio). - Updated versions of driver
.intfiles (latest with fixed typos). - Fix for
psValueof DEO's. The web property number support broke thepsValueimplementation ofcWebBaseDEO. - Added WOW64 constants to
RegistryAPI.pkg. - Fixed typo in
WebFloatingPanel. cListinVDFOEMAnsiandVDFRepairwas not converted to Unicode – fixed.- Corrected forward send of
Construct_Object&End_Construct_Objectcases reported by Sture. - Removed hard-coded reference to 265 for
WebAppServerPropstable. - Enabled warnings for old registry commands.
- Fixed typo in error message in
cWebServerPropHandler.pkg. DoAttachProcesswas changed to a function to improve error handling for the web app object, but not for the ASP object. Changing backGet DoAttachProcessintoSend DoAttachProcesssolves this.- Removed WebApp Server key structure under the WOW6432Node (32-bit) structure.
- Installation - Doubled
threadstacksizeregistry key for 64-bit. - Changed various references from Alpha 1 to Alpha 2.
- Fixed
DoAttachProcess– Web framework applications that do not includecWebAspClassicObjectwould not compile. Added aRegister_Procedureto prevent compile errors. - For ASP Classic web applications,
addressofreturns 0 for empty strings, so thememcopyfailed, causing a few bytes of garbage to be returned – fixed. - Made determination of mime type case insensitive.
- Fixed
TVM_EDITLABELdefine inCommctrl.pkg. - Added new
Flush_Outputcommand. - 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_RECNUMif not needed. - Added extra log for troubleshooting crashes during data conversion.
Dfstatbr.pkghad code that had an invalid conversion toWStringwhen it expects an integer array. Fixed it to also use an integer array in DataFlex.- Renamed
Bytefunction toUCharToString. - Corrected showing
DefaultFormHeightandDefaultFormSpacingin the workspace properties panel. - Implemented
OnCollapse&OnExpandevents incWebGroup. CodeSensewill showWindows_Messageprocedure parameters asLongPtr, not integer.- Added new map schemas
MAP_DF_TO_SQL_TYPE_UNICODEandMAP_DF_TO_SQL_TYPE_NON_UNICODEindb2_drv.int. - Wizards were still letting the editor load files as OEM, causing some extended characters to be lost in conversion.
- Added
bytefunction andC_BOMUTF8constant. - Converted the wizards to write source code as UTF-8 with BOM.
- Added missing image file in material theme.
- Initial
pbAutoTabimplementation incWebForm. - Added the
OnKeyPressevent with parametersiCharCodeandiKeyCode. Note that it relies on the default event delay for not firing too often. - Implemented new
autocompleteproperty oncWebFormandcWebEditthat maps directly to the autocomplete HTML attribute. - Changed the login screens in the templates and the samples to set
autocompletefor 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. phoSoapClientHelperis an object handle and thus should be set to 0, not "".- Updated translation from Marcia for
dferr001.dat. - Changed
shorttointegerincScrollingContainerMixin.pkg. - Swapped connect/repair and conversion menu items in the 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
psValuewith 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
DoMakeSysFileroutine.
C-Level Changes
FillField: removed copyDF_LOW/DF_HIGHin the buffer.- Improved reading of collation file.
- Compiler: Increased max line length for reading first line to read the BOM.
- Adjusted conversions in
wascintfrom OEM to UTF-8. - MySQL Insert in table with autoincrement column caused error.
Fill_Fieldwill fillfieldbufwith all 'z' or all space.- Find EQ with
Fill_Fieldon index segments is now explicitly handled. - Native length/buffer change for
DF_TEXTandDF_BINARYcolumns. - Bugfix:
Constrained_Findwould sometimes invalidateFind_Cache. - Performance improvements on debugger string handling.
- Trimming of trailing spaces in compare.
- Added
Flush_Outputcommand. - Fix for
saverecordupdate where clause. FieldGetStringwas losing the null terminator in the translation.- Refactoring of
WHEREclause logic. - Changes to handle
DB2 SQL_GRAPHICandSQL_VARGRAPHICtypes. DB2_DRV,ODBC_DRVdefault typeDF_ASCIIcolumns nowSQL_VARCHAR.FindTablecase insensitive compare on table name.- Fixed BOM issue causing compile to fail.
Documentation
Language Reference
- Added
UCharToStringfunction. 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 topbApplyGlobalSQLFilters.- Corrected and updated
DF_DRIVER_MAP_DFxxxandDF_DATABASE_MAP_DFxxxattributes. - Added
Flush_Outputcommand. - Added return types to all global function pages.
- Removed
Appendcommand from Functions list in TOC. WebRegisterPath: added links to Class Ref foreNavigationMode(NavigateForward,NavigateForwardCustom, andNavigateBegin).- Corrected sample code in
DF_Database_Default_Database. - Corrected
ZeroStringfunction sample. - Updated list of modes to
DF_File_Modeand a Value column. - Added
DF_SYSDATE4_STATE. It’s obsolete (sinceSysdateis obsolete), but available for reference. - Added note that
TimeSpanvalues cannot be negative. - Added documentation for
RandomHexUUIDandSeqHexUUID. - Corrected
DateSetMonth: it cannot be used withTimeSpan(DateSetMillisecond–DateSetDaycan). - Removed some external See Also pages.
- Miscellaneous 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 numerous 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 documentation for
peWordBreak. - Updated
ConnectionIdsfunction explanation of returned connection array. - Improved documentation on accessing state hash.
- Updated
cRegistryclass with new constants and information about Registry Redirection. - Improved
peDataType,piPrecision, andpsMaskand added examples for web classes. - Added missing
ByRefto code sample inNavigateForwardCustom. - 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_Optionssamples that used obsolete methods. - Added sample of clearing all foreign field options to
Foreign_Field_Option. - Reviewed and clarified
Field_OptionsandForeign_Field_Optiondocumentation. - Added a real-world sample to web
OnValidate. - Added a real-world sample to web
PositionToValueandValueToPositionforcWebSlider. - Removed references to ASP from
cWebResourceManagerclass. - Added documentation for
psResourceUrlandpsUploadUrl. - Replaced error 4140 with
DFERR_NO_DELETE_RELATED_RECORDS_EXISTinOperation_Not_Allowedsample. - Added better information and samples to web-based classes
OnLoadevent. - Improved documentation for
Which_Data_Set. - Added documentation for server-side nullable data type support to
cWebServiceclass. - Added documentation to parameter of
cWebBaseDEOServer.DeleteConformation. - Corrected
psMaskon Web to use the correct constant (it was using the same constants as the WindowspsMaskversion). - Added sample of throwing
Data_Set_ErrortoField_Validate_msg.
Language Guide
- Added Data Types index entry.
- Simple Types page was missing
ULongptr. ULongptrType link toULongptrwas 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
UChararrays 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.
- Added information about memory use in WebApps.
- Added links to other new documentation.
- Added Alpha 2 Change Log.