Ver Mensaje Individual
  #1  
Antiguo 24-05-2013
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 241
Reputación: 14
darkamerico Va por buen camino
Post No baja el documento del Sitio Web

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: // Expediente de Atencion de Reclamo
      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
Responder Con Cita