It is important to be aware that there are some fundamental changes in DataFlex 2021 that make it different from previous versions, most notably Unicode. Sources may need changes to run well in DataFlex 2021, and once these changes have been made, applications cannot be reverted to an earlier version.
DataFlex is now fully Unicode, which means that all strings are Unicode, encoded in UTF-8, and can hold Unicode characters.
Strings and comments can contain special characters. Names of functions, object, variables, etc. cannot.
The fact that all strings are Unicode, has several implications for how applications interact with databases; with reading and writing files, for how Window calls are done, etc.
Here a Direct_output command is shown, which accepts a UTF-8 string as filename. By default it outputs UTF-8 strings.
The fact that DataFlex has become fully Unicode also has some language implications with respect to strings, such as string length and size determination. These factors need to be considered, whether or not an application is fully Unicode.
SQL is the expected database, but all databases that DataFlex supports are now supported as Unicode with the exception of the Embedded database. The Embedded database is still there but is OEM and works fine. If used, there will be a loss of special characters that are not with the OEM codepage.
When using Unicode databases, some changes may need to be made to string field types. This will be discussed further in part 2 of this course.
DataFlex has also become 64-bit capable. This means applications can still be built and run in 32-bit mode, but the option to pull the switch to build and run 64-bit is there.
The Studio itself is 64-bit only, but within the Studio a developer can choose to build, run and debug in 32-bit or 64-bit by using the pulldown in the menu.
This can also be achieved from the menu. Go to Project > Project Properties and select the ‘Compiler’ tab. Here the executable name suffix can also be set. In this case, the 32-bit suffix is empty, which means that the executable gets the name of the project.
The 64-bit suffix is set to the value 64, which means that the name of the executable has 64 in it. The resulting executables both end up in the Programs folder. This is the 64-bit exe.
Right clicking on an executable, and selecting ‘Open with CFF Explorer’ will further show that this executable is really 64-bit.
The WebApp server is 64-bit and it supports running 32-bit webapps. The Dataflex runtime can still be installed on 32-bit only machines.