ganz grob machstes so:
Delphi-Quellcode:
unit Unit1;
interface
uses
Classes;
type
TDownloadThread =
class(TThread)
private
{ Private-Deklarationen }
FURL:
String;
FTarget:
String;
protected
procedure Execute;
override;
published
property URL:
String read FURL
write FURL;
property TargetFile:
String read FTarget
write FTarget;
end;
implementation
uses URLMon;
procedure TDownloadThread.Execute;
begin
if UrlDownloadToFile(
nil, PChar(FURL), PChar(FTarget), 0,
nil) = 0
then
begin
{erfolgreich}
end
else
begin
{fehler}
end;
end;
end.
aufrufen tuste es dann so:
Delphi-Quellcode:
var
thread: TDownloadThread;
begin
thread := TDownloadThread.create;
thread.FreeOnTerminate := true;
thread.URL := 'http://bla.de/file.bla';
thread.Target := 'C:\bla\file.bla';
thread.resume;
end;
(alles ungetestet)
wenn du noch wissen willst wann er fertig is, kannste deinem thread noch
den einen oder anderen event spendieren
edit:
ich mache sowas eigentlich immer mit den
indy komponenten (hier TidHTTP).
finde ich etwas schöner. aber wenns UrlDownloadToFile bei dir tut...