Saludos amigos, estoy haciendo una aplicacion, donde tengo plantillas en formato RTF en mi servidor apache, esta plantilla debe bajarse al cliente para que este la modifique y la guarde en la BD.
He modificado estas plantillas en el servidor web, y el programa sigue bajando la version anterior de los documentos, quizas hay algun cache, lo que requiero es que baje la ultima version como es logico, aqui les coloco el codigo fuente:
Esta es la funcion que realiza la bajada del documento:
Código Delphi
[-]function TForm5.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, 0, 0) ;
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;
Ahora en el evento OnActivate del formulario, se realiza la llamada a la funcion anterior:
Código Delphi
[-]procedure TForm5.FormActivate(Sender: TObject);
var
internetFile, localFileName, SearchText, ReplaceText, nombreMes, diaEnLetras, mesEnLetras, AnioEnLetras, fechaEnLetras:string;
begin
doc.Lines.Clear;
case form1.tipoDoc of
1: begin
internetFile := 'http://192.168.1.215/GestionDocs/Operaciones/Expediente.rtf';
localFileName := 'Expediente.rtf';
if GetInetFile(internetFile, localFileName) then
begin
if flag=0 then
begin
doc.Lines.LoadFromFile(localFileName);
...
...
flag:=1;
end;
end;
end;
...
Como les digo, a pesar de que he cambiado la plantilla en el servidor web, el documento que baja es la version anterior.
Aprecio la ayuda.
saludos