[fpc-pascal] use cwstring or fpwidestring on linux

Sven Barth pascaldragon at googlemail.com
Fri Oct 4 21:44:09 CEST 2013


On 04.10.2013 21:15, stdreamer wrote:
> On 04/10/2013 9:08 μμ, Sven Barth wrote:
>
>> The main difference is that cwstring uses the Widestring manager of the
>> system's C library while fpwidestring is a full Pascal Widestring
>> manager.
>>
>
> So by using cwstring instead of fpwidestring am I safe to assume that
> the widestrings used and returned by DLLs/SOs will work correctly even
> when they are used as results in functions (taking in to account that
> widestrings are not ref counted in the first place of course)?

No. That one has nothing to do with any Widestring manager, but with the 
memory manager. The purpose of the widestring manager is to convert from 
strings of one encoding to another encoding.

Please note that on Windows WideStrings will work across DLL boundaries, 
because they are managed by Windows. This is not the case on other 
targets though as there WideString = UnicodeString and UnicodeStrings 
have the same restrictions as AnsiString.

Regards,
Sven




More information about the fpc-pascal mailing list