Thema: Delphi IdHTTP problem

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: IdHTTP problem

  Alt 4. Nov 2005, 20:05
Hallo.

Du kannst einen Download mit der Indy HTTP Client-Komponente im Ereignis OnWork() abbrechen, indem du eine stumme Exception wirfst:

Delphi-Quellcode:
type
  TDemoForm = class(TForm)
  ...
  private
    Canceled: boolean;
  ...
  end;

procedure TDemoForm.CancelClick(Sender: TObject);
begin
  Canceled := true;
end;

procedure TDemoForm.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  if Canceled then
    Abort;
end;

procedure TDemoForm.DownloadClick(Sender: TObject);
var
  fs: TFileStream;
  fn: TFileName;
begin
  fn := 'c:\daten\abort.txt';
  fs := TFileStream.Create(fn, fmCreate);
  Canceled := false;
  try
    HTTP.Get('http://www.amazon.de', fs);
  except
  end;
  fs.Free; // Datei freigeben
  if Canceled then
    DeleteFile(fn);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat