[fpc-pascal] use cwstring or fpwidestring on linux

stdreamer stdreamer at freemail.gr
Fri Oct 4 22:14:58 CEST 2013


On 04/10/2013 10:44 μμ, Sven Barth wrote:
> 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

Oh well I was kind of hopping that a cwstrings will have its own memory 
manager as well but it was to good to be true in the first place thanks 
for the input.




More information about the fpc-pascal mailing list