Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Indy invalid code page


Квэнди ©   (2008-12-17 22:25:00) 

Здравствуйте. Использую D2009 и Indy 10.2.5
На моем компьютере, на котором,собственно, и стоит delphi этот код выполняется как и раньше абсолютно нормально:
Idhttp.get(<некая страница>);
На компьютере с установленной ОС Windows XP Embeded при выполнении данного метод возникает ошибка "Invalid code page"
Подобная ошибка до этого возникала и в IdTcpClient на том же компьютере: IdTcpClient.OIHandler.writeln('что-то'); но тогда проблема решилась указанием encoding:
IdTcpClient.IOHandler.writeln('что-то',en8bit);
но в методе GET компонента IdHttp нет возможности указать encoding, не подскажите из- за чего возникает ошиба и каким образом её избежать/устранить ?


Квэнди   (2008-12-19 14:57:00) [1]

Проблема разрешилась:
https://forums.codegear.com/thread.jspa?threadID=8925
Всем болшое спасибо )


Квэнди   (2008-12-19 11:37:00) [2]

уже не актуально. Переписал под ICS


Сергей М.   (2008-12-18 19:51:00) [3]

Заключи Get в блок try..except, поймай исключение и приведи сюда его класс..


Квэнди   (2008-12-18 17:14:00) [4]

Отображается окно с ошибкой "Invalid Code page"


Сергей М.   (2008-12-18 17:12:00) [5]


> возникает ошибка


Ошибка или исключение?


Квэнди   (2008-12-18 09:49:00) [6]

На сколько я понимаю с обычным Tstream не получится: "method seek not implemented",а при попытке использовать tmemorystream ошибка таже (
var s:tmemorystream;
begin
s:=tmemorystream.Create;
IdHTTP1.Get(' http://delphimaster.ru/cgi-bin/forum.pl?id=1229541935&n=4',s);
...


Eraser   (2008-12-18 04:18:00) [7]

> [0] Квэнди ©   (17.12.08 22:25)

ошибка потому что не сработало автоопределение кодировки думаю (см. ContentTypeStrToEncoding).

вот доступные варианты метода
   procedure Get(AURL: string; AResponseContent: TStream); overload;
   procedure Get(AURL: string; AResponseContent: TStream; AIgnoreReplies: array of SmallInt);
    overload;
   function Get(AURL: string): string; overload;
   function Get(AURL: string; AIgnoreReplies: array of SmallInt): string; overload;

советую использовать 1.

вообще в юникодовской делфи при работе с indy лучше избегать явной передачи строк, а использовать TBytes или TStream.


Наверх

Титульная страница Поиск, карта сайта Написать письмо