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

Вниз

idhttp.onwork   Найти похожие ветки 

 
race1   (2004-08-06 08:20) [0]

в потоке создаём tidhttp, нчинаем качать файл (idhttp.get). но событие onwork происходит только один раз. оно же должно происходить пока файл не скачается, так?


type
 Tmy = class(TThread)
 private
   Fhttp: TIdHTTP;

   FAddress: String;
   FWork: Boolean;
   FWorking: Boolean
   FMemStream: TMemoryStream;

   FLogText: String;

   procedure OnWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
   procedure Synch;
 protected
   procedure Execute; override;
 public
   property Address: String read FAddress write FAddress;
   property Work: Boolean read FWork write FWork;
 end;

var
 myTh: Tmy;

implementation

uses
 Mainu, Math;

procedure Tmy.Execute;
begin
 Fhttp := TIdHTTP.Create(nil);
 Fhttp.OnWork := OnWork;
 FMemStream := TMemoryStream.Create;

 while not Terminated do
 begin
   // work - нужно начать качать, working - уже качаем, т.е. вызвали get
   if FWork and (not FWorking) then
   begin
     FWorking := True;
     FLogText := Format("Get (%s)", [FAddress]);
     Synchronize(Synch);

     Fhttp.Get(FAddress, FMemStream);
   end else
     Sleep(100);
 end;

 Fhttp.Free;
 FMemStream.Free;
end;

procedure Tmy.OnWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
 // если нужно прекратить закачку
 if FWork = False then
   Fhttp.Disconnect;

 FLogText := "Working";
 Synchronize(Synch);
end;

procedure TRadio.Synch;
begin
 frmMain.lblOutSize.Caption := Format(frmMain.lblOutSize.Hint, [FMemStream.Size]);
 if FLogText <> "" then
   frmMain.mmLog.Lines.Add(FLogText);

 FLogText := "";  
end;


где не так?


 
race1   (2004-08-06 09:54) [1]

хм... после задания useragent"а заработало...



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

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

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1096024634
tria
2004-09-24 15:17
2004.10.17
Подскажите компонент плиз


8-1090432990
beatles_bntu
2004-07-21 22:03
2004.10.17
Качественная оброботка текстуры в OpenGL


1-1096895878
Idoga
2004-10-04 17:17
2004.10.17
Отключиться от Excel


14-1096471177
Nous Mellon
2004-09-29 19:19
2004.10.17
Споим преподавателей наших мозгопожирателей! Со вкусом... :)


9-1087401083
Гость
2004-06-16 19:51
2004.10.17
Помогите найти исходник на Си или Си++