Make your applications work in DataFlex NextGen: Difference between revisions

Update to supported database types now that DF20 has been released
(Update to supported database types now that DF20 has been released)
 
(5 intermediate revisions by 2 users not shown)
Line 92: 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 129: 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
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


At this moment there is not final decision on what the embedded database support with unicode will be.
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 140: 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]]