Hi!
Implementiere IBindStatusCallback von URLDownloadToFIle (siehe z.B
http://www.delphipraxis.net/internal_redirect.php?t=75)
und frage im OnProgress von IBindStatusCallback ab, ob der Abbrechen-Button angeklickt wurde (mittels Vergleich einer Boolean-Variable)
Delphi-Quellcode:
type
TForm1 = class(TForm)
AbbrechenButton: TButton;
procedure AbbrechenButtonClick(Sender: TObject);
private
{ Private declarations }
FCancelDownLoad : Boolean;
public
{ Public declarations }
end;
function cDownloadStatusCallback.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult;
begin
//....Code...
if FCancelDownLoad then // Download abgebrochen?
Result := E_ABORT;
//....Code...
end;
procedure TForm1.AbbrechenButtonClick(Sender: TObject);
begin
FCancelDownLoad := True; // Download abbrechen
end;