diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc index 2829550052..e77b0312e8 100644 --- a/rtl/inc/systemh.inc +++ b/rtl/inc/systemh.inc @@ -527,6 +527,19 @@ function StringToWideChar(const Src : AnsiString;Dest : PWideChar;DestSize : Lon function WideCharLenToString(S : PWideChar;Len : LongInt) : AnsiString; procedure WideCharLenToStrVar(Src : PWideChar;Len : LongInt;var Dest : AnsiString); procedure WideCharToStrVar(S : PWideChar;var Dest : AnsiString); + +Type + TWide2AnsiMove=procedure(source:pwidechar;dest:pchar;len:longint); + TAnsi2WideMove=procedure(source:pchar;dest:pwidechar;len:longint); + + TWideStringManager = record + Wide2AnsiMove : TWide2AnsiMove; + Ansi2WideMove : TAnsi2WideMove; + end; + +Procedure GetWideStringManager (Var Manager : TWideStringManager); +Procedure SetWideStringManager (Const New : TWideStringManager; Var Old: TWideStringManager); + {$endif HASWIDESTRING} @@ -699,7 +712,10 @@ const { $Log$ - Revision 1.78 2003-11-15 19:01:27 florian + Revision 1.79 2003-11-28 20:36:13 michael + + Added WideStringManager + + Revision 1.78 2003/11/15 19:01:27 florian * fixed rtl to work with the integrated fpc ppc assembler reader Revision 1.77 2003/11/03 09:42:28 marco diff --git a/rtl/inc/wstrings.inc b/rtl/inc/wstrings.inc index 94053529c1..59b6de9146 100644 --- a/rtl/inc/wstrings.inc +++ b/rtl/inc/wstrings.inc @@ -84,14 +84,26 @@ begin end; end; - -Type - TWide2AnsiMove=procedure(source:pwidechar;dest:pchar;len:longint); - TAnsi2WideMove=procedure(source:pchar;dest:pwidechar;len:longint); Const Wide2AnsiMoveProc:TWide2AnsiMove=@Wide2AnsiMove; Ansi2WideMoveProc:TAnsi2WideMove=@Ansi2WideMove; +Procedure GetWideStringManager (Var Manager : TWideStringManager); + +begin + Manager.Wide2AnsiMove:=Wide2AnsiMoveProc; + Manager.Ansi2WideMove:=Ansi2WideMoveProc; +end; + + +Procedure SetWideStringManager (Const New : TWideStringManager; Var Old: TWideStringManager); + +begin + GetWideStringManager(Old); + Wide2AnsiMoveProc:=New.Wide2AnsiMove; + Ansi2WideMoveProc:=New.Ansi2WideMove; +end; + (* Procedure UniqueWideString(Var S : WideString); [Public,Alias : 'FPC_WIDESTR_UNIQUE']; { @@ -993,7 +1005,10 @@ end; { $Log$ - Revision 1.32 2003-11-05 15:33:51 florian + Revision 1.33 2003-11-28 20:36:13 michael + + Added WideStringManager + + Revision 1.32 2003/11/05 15:33:51 florian * made Index* usage consistent with astrings.inc Revision 1.31 2003/06/17 19:24:08 jonas