-
Здравствуйте. Использую 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, не подскажите из- за чего возникает ошиба и каким образом её избежать/устранить ? -
Eraser © (18.12.08 04:18) [1]> [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. -
На сколько я понимаю с обычным Tstream не получится: "method seek not implemented",а при попытке использовать tmemorystream ошибка таже (
var s:tmemorystream;
begin
s:=tmemorystream.Create;
IdHTTP1.Get('http://pda.delphimaster.net/?id=1229541935&n=4',s);
... -
Сергей М. © (18.12.08 17:12) [3]
> возникает ошибка
Ошибка или исключение ? -
Отображается окно с ошибкой "Invalid Code page"
-
Сергей М. © (18.12.08 19:51) [5]Заключи Get в блок try..except, поймай исключение и приведи сюда его класс..
-
уже не актуально. Переписал под ICS
-
Проблема разрешилась:
https://forums.codegear.com/thread.jspa?threadID=8925
Всем болшое спасибо )