GARANTIR DESCONTO

Fórum UrlDownloadToFile ??? #328000

24/08/2006

0

Estou utilizando a função UrlDownloadToFile, mas apos fazer o download do arquivo, quando tento baixar um novo aqruivo acaba baixando o anterio o mesmo . Provavelmente o arquivo fica preso no Cache, alguém sabe se tem como liberar, para que sempre que eu realizar o dowload ele baixe o arquivo novo e não o antigo.
Desde já agradeço.


Semchance

Semchance

Responder

Posts

24/08/2006

Marcelo_mileris

Olá, eu passei por esse mesmo problema e uma solução que eu encontrei foi usar uma função para limpar o cache.

// Limpa cache do Internet Explorer
procedure DeletaIECache;
var
   lpEntryInfo: PInternetCacheEntryInfo;
   hCacheDir: LongWord;
   dwEntrySize: LongWord;
begin
   dwEntrySize := 0;
   FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
   GetMem(lpEntryInfo, dwEntrySize) ;
   if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
   hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize) ;
   if hCacheDir <> 0 then
   begin
     repeat
       DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName) ;
       FreeMem(lpEntryInfo, dwEntrySize) ;
       dwEntrySize := 0;
       FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
       GetMem(lpEntryInfo, dwEntrySize) ;
       if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
     until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) ;
   end;
   FreeMem(lpEntryInfo, dwEntrySize) ;
   FindCloseUrlCache(hCacheDir) ;
end;


Ao terminar o Download eu chamo ela.


Responder

Gostei + 0

25/08/2006

Semchance

Valeu..... Marcelo vou fazer os testes...


Responder

Gostei + 0

01/12/2006

Emir Neto

Não sei se precisa declarar alguma unit no USES ou algo parecido, mas aqui não funcionou. Dá erro em trechos do código que não deixam nem sequer compilar. Se alguém souber como corrigira... agradeço.


Responder

Gostei + 0

25/05/2021

Vinicius Granada

Ola Emir Neto, a funcao do marcelo está funcionando bem, basta declarar a uses "wininet".
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar