Page 1 of 1

XLSReadWriteII5. TXLSTokenizer.DoName bug in russian charset

Posted: Wed Feb 15, 2017 3:25 pm
by Moisha
hi. I use XLSReadWriteII5 and russian charset.
The problem is in this construction:
while (Result <= FLen) and AnsiChar(FValue[Result]) in [AnsiChar(FormatSettings.ListSeparator),AnsiChar('\')......]) do

Converting multibyte char to AnsiChar work incorrect, but multibyte string to ansi string works just fine.
So it willbe good to rewrite this code:
while (Result <= FLen) and not (AnsiString(FValue)[Result] in [AnsiChar(FormatSettings.ListSeparator),AnsiChar('\') ...] do
And even more correctly:
while (Result <= FLen) and not (CharInSet(FValue[Result] in [FormatSettings.ListSeparator, '\'...] do

function TXLSTokenizer.DoQuotedName and many others has the same error.

Hope this will be fixed in next revisions.
Regards
Anton

Re: XLSReadWriteII5. TXLSTokenizer.DoName bug in russian charset

Posted: Sat Feb 18, 2017 4:27 pm
by larsa
Hello

I can't find the code you are talking about. Is it supposed to be in the last version of XLSReadWriteII 5?

Re: XLSReadWriteII5. TXLSTokenizer.DoName bug in russian charset

Posted: Mon Feb 27, 2017 11:54 am
by Moisha
I Downloaded last XLSReadWriteII 5 for XE4 from http://www.axolot.com/components/f_downloadreg.htm.
File BIFF_EncodeFormulaII5.pas

Re: XLSReadWriteII5. TXLSTokenizer.DoName bug in russian charset

Posted: Tue Feb 28, 2017 3:02 pm
by larsa
Hello

I found it now. Will fix this in the next update.