Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Проблема копирования в TStream   Найти похожие ветки 

 
Victor_   (2003-01-27 20:27) [0]

пытаюсь я получить и обработать информацию из сети с помощью компонентов 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;
работает нормально :(


 
dumb   (2003-01-27 21:01) [1]

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

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;




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

Спасибо за 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 буфера (один для обработки)



Страницы: 1 вся ветка

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-54099
Tyler Durden
2003-03-05 16:38
2003.03.17
MyDll.dll+Rundll=Error


7-54341
edicon
2003-01-19 03:54
2003.03.17
BIOS


1-54078
Seven
2003-03-05 12:27
2003.03.17
DLL


14-54175
Supreme 2
2003-03-02 17:40
2003.03.17
Как сделать, чтобы текст показывался не


3-53908
Tornado
2003-02-25 12:59
2003.03.17
Что нужно включить в дистрибутив?