LMD VCL - Unicode Support: Difference between revisions

From LMD
Jump to navigation Jump to search
No edit summary
 
No edit summary
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.