Difference between revisions of "LMD VCL - Unicode Support"

From LMD
Jump to: navigation, search
 
Line 1: Line 1:
General unicode support notes:
+
== General unicode support notes: ==
 
+
* Use WideString instead of String (if library has ansi version, the use defines (see TLMDString type))
    * Use WideString instead of String (if library has ansi version, the use defines (see TLMDString type))
+
* One symbol, in general case, isn't equal one byte - <b>it's very important</b>
    * One symbol, in general case, isn't equal one byte - <b>it's very important</b>!!!
+
* Use Unicode API function instead of its Ansi version. These function has W suffix. As example DrawTextW, ExtTextOutW etc.
    * Use Unicode API function instead of its Ansi version. These function has W suffix. As example DrawTextW, ExtTextOutW etc.
+
* For any operation on unicode string use routines from LMDStrings.pas (must be in core modules)
    * For any operation on unicode string use routines from LMDStrings.pas (must be in core modules)
+
* For unicode string lists use classes from LMDUnicodeStrings
    * For unicode string lists use classes from LMDUnicodeStrings
+
* Win 9x/Me has very poor unicode support and need to check all controls on these OSes.
    * Win 9x/Me has very poor unicode support and need to check all controls on these OSes.
 

Revision as of 20:43, 30 July 2007

General unicode support notes:

  • Use WideString instead of String (if library has ansi version, the use defines (see TLMDString type))
  • One symbol, in general case, isn't equal one byte - it's very important
  • Use Unicode API function instead of its Ansi version. These function has W suffix. As example DrawTextW, ExtTextOutW etc.
  • For any operation on unicode string use routines from LMDStrings.pas (must be in core modules)
  • For unicode string lists use classes from LMDUnicodeStrings
  • Win 9x/Me has very poor unicode support and need to check all controls on these OSes.