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

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

Проблема копирования в TStream [D7, WinME]


Victor_ ©   (2003-01-27 20:27:00) 

пытаюсь я получить и обработать информацию из сети с помощью компонентов Indy:

procedure TForm1.FormCreate(Sender: TObject);
var
buffer,mbuffer:TStream;
myHTTP : TidHTTP;
begin
buffer:=TFileStream.Create("1.dat",fmCreate or fmOpenWrite);
mbuffer:=TMemoryStream.Create;
myHTTP := TidHTTP.Create(nil);
myHTTP.Get(str,mbuffer);
buffer.CopyFrom(mbuffer,mbuffer.Size);
mbuffer.Free;
buffer.Free;
end;

на buffer.CopyFrom получаю ошибку.
Что делать??

код
procedure TForm1.FormCreate(Sender: TObject);
var
buffer,mbuffer:TStream;
myHTTP : TidHTTP;
begin
mbuffer := TFileStream.Create("1.dat", fmOpenReadWrite);
buffer := TFileStream.Create("2.dat", fmOpenReadWrite);
buffer.CopyFrom(mbuffer,mbuffer.Size);
buffer.Free;
mbuffer.Free
end;
работает нормально :(


Victor_   (2003-01-27 21:51:00) [1]

Спасибо за mbuffer.Position := 0;, а насчет

procedure TForm1.FormCreate(Sender: TObject);
var
buffer:TStream;
myHTTP : TidHTTP;
begin
buffer:=TFileStream.Create("c:\1.dat",fmCreate or fmOpenWrite);
myHTTP := TidHTTP.Create(nil);
myHTTP.Get(" http://microsoft.com", buffer);
buffer.Free;
myHTTP.Free;
end;

то нужно именно 2 буфера (один для обработки)


dumb   (2003-01-27 21:01:00) [2]

Нужно вставить

mbuffer.Position := 0;

после

myHTTP.Get(str,mbuffer);

а вообще лучше так


procedure TForm1.FormCreate(Sender: TObject);
var
buffer:TStream;
myHTTP : TidHTTP;
begin
buffer:=TFileStream.Create("c:\1.dat",fmCreate or fmOpenWrite);
myHTTP := TidHTTP.Create(nil);
myHTTP.Get(" http://microsoft.com", buffer);
buffer.Free;
myHTTP.Free;
end;



Наверх

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