[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# SetUnicodeStringManager

Set the unicodestring manager

## Declaration

Source position: ustringh.inc line 162

`procedure SetUnicodeStringManager(`
`const New: TUnicodeStringManager`
`); procedure SetUnicodeStringManager(`
`const New: TUnicodeStringManager;`
`var Old: TUnicodeStringManager`
`);`

## Description

SetUnicodeStringManager sets the current unicodestring manager to New. Optionally, it returns the currently active widestring manager in Old.

UnicodeStrings are implemented in different ways on different platforms. Therefore, the Free Pascal Runtime library has no fixed implementation of widestring routines. Instead, it defines a UnicodeString manager record, with callbacks that can be set to an implementation which is most efficient on the current platform. On windows, standard Windows routines will be used. On Unix and Linux, an implementation based on the C library is available (in unit cwstring).

It is possible to implement a custom unicodestring manager, optimized for the current application, without having to recompile the complete Run-Time Library.

## See also

TUnicodeStringManager |  | Unicode string manager