Fórum TDownLoadURL TThread... #353289
07/02/2008
0
Salve pessoal, tô com um pepino aqui que talvez alguém possa ajudar...
Tenho essa function que usa o TDownLoadURL pra baixar um arquivo e retorna true ou false;
function DownloadURLFile(const ADPXMLBLOG, ADPLocalFile : String) : boolean;
begin
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=ADPXMLBLOG;
Filename:=ADPLocalFile;
try
ExecuteTarget(nil);
except
Result:=False;
end;
finally
Free;
end;
end;
Tenho o seguinte trecho de código em uma procedure que chama a function verifica se foi feito o download
depois outro que verifica se o arquivo temporário existe
ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + ´temp.adpheadlines.xml´;
Screen.Cursor:=crHourglass;
try
if not DownloadURLFile(ADPXMLBLOG, ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
Raise Exception.CreateFmt(´Não foi possível fazer o download do canal!´,[]);
Exit;
end;
if not FileExists(ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
raise exception.Create(´O arquivo não pôde ser encontrado!´);
Exit;
end;
O download é feito perfeitamente, o único e grande problema é que durante o processo do download
a aplicação trava e feio, dei uma pesquisada na net e descobri que pra que isso não aconteça eu
tenho que executar esse download em uma Thread mas como eu poderia aplicar a execução da thread
em boleano no código acima e retornar se o resultado se é true(sucesso) ou false(download falhou),
gente já tentei de tudo mas nenhum jeito funcionou, se alguém puder me dar uma luz eu agradeço
imensamente. Abraços a todos...
Tenho essa function que usa o TDownLoadURL pra baixar um arquivo e retorna true ou false;
function DownloadURLFile(const ADPXMLBLOG, ADPLocalFile : String) : boolean;
begin
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=ADPXMLBLOG;
Filename:=ADPLocalFile;
try
ExecuteTarget(nil);
except
Result:=False;
end;
finally
Free;
end;
end;
Tenho o seguinte trecho de código em uma procedure que chama a function verifica se foi feito o download
depois outro que verifica se o arquivo temporário existe
ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + ´temp.adpheadlines.xml´;
Screen.Cursor:=crHourglass;
try
if not DownloadURLFile(ADPXMLBLOG, ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
Raise Exception.CreateFmt(´Não foi possível fazer o download do canal!´,[]);
Exit;
end;
if not FileExists(ADPLocalFile) then
begin
Screen.Cursor:=crDefault;
raise exception.Create(´O arquivo não pôde ser encontrado!´);
Exit;
end;
O download é feito perfeitamente, o único e grande problema é que durante o processo do download
a aplicação trava e feio, dei uma pesquisada na net e descobri que pra que isso não aconteça eu
tenho que executar esse download em uma Thread mas como eu poderia aplicar a execução da thread
em boleano no código acima e retornar se o resultado se é true(sucesso) ou false(download falhou),
gente já tentei de tudo mas nenhum jeito funcionou, se alguém puder me dar uma luz eu agradeço
imensamente. Abraços a todos...
Leonardo Gazio
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)