Make your applications work in DataFlex NextGen: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
Update to supported database types now that DF20 has been released
m (Added to the How To category)
(Update to supported database types now that DF20 has been released)
 
(4 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, this is not recommended (or supported) at this moment.


MSSQL 2019 will support UTF-8
MySQL supports both UTF-16 as well as UTF-8


DB2 supports UTF-8 and UTF-16


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

Navigation menu