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.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to