485
edits
(Created page with "= Document scope and public resources = This is a document that is Work In Progress as it is based on information shared by Data Access in public. The scope of this document i...") |
(Update to supported database types now that DF20 has been released) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
* [https://learning.dataaccess.com/courses/synergy-2019/getting-your-applications-ready-for-dataflex-nextgen/ Getting your applications ready for DataFlex NextGen by Stephen Meeley at Synergy 2019] | * [https://learning.dataaccess.com/courses/synergy-2019/getting-your-applications-ready-for-dataflex-nextgen/ Getting your applications ready for DataFlex NextGen by Stephen Meeley at Synergy 2019] | ||
* [https://learning.dataaccess.com/courses/synergy-2019/dataflex-nextgen/ DataFlex NextGen by Harm Wibier at Synergy 2019] | * [https://learning.dataaccess.com/courses/synergy-2019/dataflex-nextgen/ DataFlex NextGen by Harm Wibier at Synergy 2019] | ||
Also read the following in the documentation: | |||
* [https://docs.dataaccess.com/dataflexhelp/#t=mergedProjects/Welcome/Language_and_Code_Cleanup.htm DataFlex Help - Language and Code Cleanup] | |||
As indicated there, things ''might'' still change. | As indicated there, things ''might'' still change. | ||
Line 89: | Line 92: | ||
There's an alias for LongPtr in DataFlex 19.1 | There's an alias for LongPtr in DataFlex 19.1 | ||
=== Calling conventions === | |||
In DataFlex 20 you should use the following calling conventions for your external DLLs | |||
* 32 bit: stdcall | |||
* 64 bit: fastcall | |||
See also: [https://renenyffenegger.ch/notes/development/languages/C-C-plus-plus/calling-convention Calling conventions] | |||
The DF20 runtime uses the library [https://en.wikipedia.org/wiki/Libffi libffi] to make the call. | |||
It is possible that for 32 bit the cdecl calling convention also works now, but it has so far only seen limited testing. | |||
= Unicode Support = | = Unicode Support = | ||
Line 126: | Line 141: | ||
SQL is the preferred database type. | SQL is the preferred database type. | ||
MSSQL has unicode datatypes (he "n" variants) : nvarchar, nchar, nvarchar(max), ntext | MSSQL has unicode datatypes (he "n" variants) : nvarchar, nchar, nvarchar(max), ntext. those are all UTF-16. | ||
MSSQL 2019 will support UTF-8, this is not recommended (or supported) at this moment. | |||
MySQL supports both UTF-16 as well as UTF-8 | |||
DB2 supports UTF-8 and UTF-16 | |||
The embedded database only supports OEM and has no unicode support. | |||
The Connectivity kit handles all of the character translations between database backend and UTF-8 strings. | |||
== Migrating to Unicode == | == Migrating to Unicode == | ||
Line 137: | Line 157: | ||
Bytes are not code points, one character can take up to 4 bytes. | Bytes are not code points, one character can take up to 4 bytes. | ||
== more info on unicode == | |||
* https://home.unicode.org/ (The unicode consortium official home page) | |||
* https://www.unicode.org/standard/WhatIsUnicode.html | |||
* [https://unicode-table.com/en/ unicode-table.com] | |||
* [https://apps.timwhitlock.info/unicode/inspect timwhitlock unicode inspect app] | |||
[[Category:How To]] | |||
[[Category:Tutorials]] |