![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola,
El problema puede estar en que el archivo es descargado y situado en el "caché" (me pierdo aquí un poco, pero, espero que la idea se pueda entrever) y así, al descargarlo de nuevo, lo que obtienes es el archivo del "caché" y no el que esté en el servidor y que te interesa descargar. ¿Solución? Dos, que yo sepa. Borrar el "caché" de Internet Explorer luego de descargar el archivo, o, más adecuado, parece, descargar el archivo "forzando" a que este no se sitúe en el "caché". Para lo primero encontrarás información en Google, por ejemplo, a poco que realizes alguna que otra búsqueda, es decir, es posible desde Delphi, programáticamente, borrar el "caché" de Internet Explorer. Empero, como no tengo muy claro de qué estoy tratando, me iría más por la segunda opción. Para esto puedes hacer uso de la librería "WinInet" (unidad "WinInet.pas", en Delphi) la cual te permite descargar archivos de Internet, forzando a que dichos archivos no se sitúen en el "caché" de marras. Zarko Gajic te proporciona un ejemplo de uso de la librería "WinInet" para descargar archivos de Internet. Conviene después que eches un vistazo a la ayuda de la función "InternetOpenUrl", usada en el ejemplo de Zarko, pero, a la cual se le pueden añadir los parámetros oportunos ("flags") para conseguir lo que vengo diciendo: que el archivo se descarge siempre desde el Servidor, incluso si existe una copia del mismo en el "caché". Creo que con esta información puedes tirar adelante; si tienes alguna duda o algún comentario, ya sabes dónde estamos. ![]() |
|
#2
|
||||
|
||||
|
Working on...!!
![]() Comentare los resultados Gracias! ![]()
__________________
Guía de Estilo. Última edición por madman fecha: 25-11-2005 a las 08:31:24. |
|
#3
|
||||
|
||||
Esta funcionandoooooooo....!!! Código:
uses Wininet;
function GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),
nil,0,INTERNET_FLAG_RELOAD,0); // Aqui es donde modifique... puse INTERNET_FLAG_RELOAD.
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
![]()
__________________
Guía de Estilo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|