Thanks for the bugreport! These functions are old ones from PB3.94
I will change 2 functions to this:
Code: Select all
Procedure.s MSXML3_Uni2Ansi(unicodestr.l)
; lenA = WideCharToMultiByte_(#CP_ACP, 0, unicodestr, -1, 0, 0, 0, 0);
; ansistr.s = Space(lenA)
; If (lenA > 0)
; WideCharToMultiByte_(#CP_ACP, 0, unicodestr, -1, @ansistr, lenA, 0, 0);
; EndIf
; ProcedureReturn ansistr
ProcedureReturn PeekS(unicodestr, #PB_Any, #PB_Ascii)
EndProcedure
Procedure.l MSXML3_Ansi2Uni(ansistr.s)
; lenA.l = Len(ansistr)
; lenW = MultiByteToWideChar_(#CP_ACP, 0, ansistr, lenA, 0, 0)
; If (lenW > 0) ; Check whether conversion was successful
; unicodestr = SysAllocStringLen_(0, lenW)
; MultiByteToWideChar_(#CP_ACP, 0, ansistr, lenA, unicodestr, lenW)
; result = unicodestr
; SysFreeString_(unicodestr)
; ProcedureReturn result
; Else
; ProcedureReturn 0
; EndIf
Protected unicodestr.s, len.l = StringByteLength(ansistr, #PB_Unicode)
unicodestr = Space(len + 2)
PokeS(@unicodestr, ansistr, #PB_Any, #PB_Unicode)
ProcedureReturn @unicodestr
EndProcedure
greetings
Thomas