Hi List, I'm writing an API interface that passes #0-terminated cstrings with encoding UTF8. What data type should be used to declare these parameters so that I may be able to use as much of 3.0+'s automatic encoding conversion as possible?
Some example declarations would look like: procedure SetUserID(const NewValue: PUTF8Char); function GetUserID(const Buf: PUTF8Char; const BufLength: UInt32): UInt32; If I read the wiki correctly, PAnsiChar would not be clear as it is always assumed to be CP_ACP, causing the compiler to generate conversions to DefaultSystemCodePage. I'm posting this to the Lazarus list instead of fpc-pascal because I already use LazUTF8 so CP_ACP really is CP_UTF8, but I want to be sure that the header always works whether LazUTF8 is used or not. Is there a good way to do what I want, or would it be easier to use PUnicodeChar and pass the strings as UTF-16? How well would other languages work with that? Thank you for any hints, Martok -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus