MetalFan wrote:программа пытается декодировать полученный текст в 936й кодировке с пом.системной функции
а она использует для получения get_ResponseText ?
если да, то у меня тоже виснет
можно попробовать получать ответ с помощью get_ResponseBody а потом перекодировать его в utf-8
, первый раз слышу...
перекодировка (ANSI в любой кодовой странице -> UTF16) делается встроенными в RTL делфи способом. Который, в свою очередь, вызывает системные функции.
MetalFan wrote:перекодировка (ANSI в любой кодовой странице -> UTF16) делается встроенными в RTL делфи спообом. Который, в свою очередь, вызывает системные функции
я в делфи ничего не понимаю, к сожалению
но из собственного опыта использования IWinHttpRequest (я использую его через COM) http://msdn.microsoft.com/en-us/library ... -snippet-1
могу сказать, что если попробовать получить страницу "http://www.zto.cn/contact.aspx" и получить для нее свойство ResponseText, то COM сервер выдает nil, а вот если получить ResponseBody и потом насильно его перевести utf-8, то все ОК.
cata, нет, в программе ПОКА используется WinInet, а не WinHTTP, все перекодировки делаются "ручками")
Но видимо не всегда ожидается, что может случиться ошибка. Вечером оберну место, где проводится перекодировка, в блок обработки ошибок.
Выложу сборку - посмотрите. Зависать по крайней мере перестанет)
проблему с проверкой решил почти случайно
в FileMonitor-e заметил ошибку в обращении к файлу c_936.nls
и хотя у меня эта страница подключена viewtopic.php?f=15&t=681#p8611 , но самого файла не было.
скопировал с другой винды, все трекается
cata, занятно!
А если не сложно, можно ли на машине проверить очередную сборку оттуда же?
хотя я теперь могу сам попробовать проверить, удалив ранееназыванный файл)
Вроде бы проблема отчасти решена - проверка на подобных сервисах (у которых указана отсутсвующая в системе кодовая страница) будет завершена с ошибкой WrongService. Залита 356я сборка.