485
edits
Hsymington (talk | contribs) 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. | |||
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 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]] |