What i really don't understand about Unicode (Delphi 2k9, 2k10, XE)
Posted on 2010-09-01
Hey, sometime ago i asked about UNICODE and at that moment i really didnt need switch to UNICODE... i was using Delphi 2007 and skip the use of Delphi 2009/2010 since its UNICODE by default, make the app size greater and a little hard to convert all my codes...
But, there are things that i really don't understand... for example
Well, String become UnicodeString by the compiler... (UnicodeString is reference counted by Delphi instead of WideString... so UnicodeString has more performance) Char -> WideChar, PChar -> PWideChar and more
But, a lot of Windows functions/procedures still use "PAnsiChar" and others "PWideChar"... but why not use PWideChar them? And still using PAnsiChar?
Example WinExec uses PAnsiChar, its because in a PATH there is no Unicode Strings? (C:\Windows\Some Folder)
If true, then all my functions/procedures that will not support unicode characteres i must use "PAnsiChar" instead of PChar?
example, a DLL that return the instalattion path of my program
function GetInstallPath(lpBuffer: PAnsiChar): Integer; StdCall;
My doubt is, when to use or not UNICODE in the code!
and Windows will drop the support for ANSI futurelly?