Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Неверное считывание ответа метода Post.


Автор: Ryoga 18.11.2011, 12:45
Использую Дельфи 7. Делаю запрос на сервер методом Post класса TIdHTTP. Считываю ответ в строку.
Код

var MyString : AnsiString;
begin
  MyString := IdHTTP.Post(url, parameters);
end;


Но, по какой-то причине данные в MyString обрываются, не дописавшись до конца. Попробовал поменять размер буфера считывания - эффекта никакого.
Переделал на поток.

Код

var MyString : AnsiString;
      ms : TMemoryStream;
begin
  ms := TMemoryStream.Create();
  IdHTTP.Post(url, parameters, ms);
  SetString(MyString,PChar(ms.memory),ms.Size);
end;


ms.Size показывает тот размер, который по идее и должен быть. НО, в строку ишется ровно то же самое, что и в предыдущем варианте.
В чём проблема? Может я как-то не так преобразую поток в строку?

Автор: Ryoga 18.11.2011, 13:50
Так, всё нормально присылается, а ошибка была совсем в другом месте. Никакого отношения к сетям или строкам это не имеет - только к моим кривым рукам.
Модераторы, удалите, пожалуйста, тему!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)