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

# SetWideStringManager

Set the widestring manager

## Declaration

Source position: ustringh.inc line 158

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

## Description

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

WideStrings 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 WideString 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 widestring manager, optimized for the current application, without having to recompile the complete Run-Time Library.

## See also

TWideStringManager |  | Record containing the various callbacks of the widestring manager.