Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2024
javier14 javier14 is offline
Miembro
 
Registrado: ago 2023
Posts: 12
Poder: 0
javier14 Va por buen camino
Copiar archivos Servidor-Cliente

Tengo un procedimiento para copiar archivos desde un servidor a un cliente. Los archivos se copian bien en mi carpeta de destino pero siempre me salta la excepción del ShowMessage con 'Invalid Pointer Operation'.
archivoOrigen, es una concatenación de rutas, ejemplo:
ruta1/archivo.exe;ruta2/archivo.sql...

¿ Cómo puedo cambiarlo ?

Código Delphi [-]
procedure TForm1.Traspaso(archivoOrigen, archivoDestino : String);
var
  serverMethods: TServerMethods1Client;
  stream: TStream;
  listaRutas: TStringList;
  i: Integer;
  rutaArchivo, nombreArchivo, rutaDestinoCompleta, ExistingFileName: String;
begin
  listaRutas := TStringList.Create;
  try
    listaRutas.StrictDelimiter := True;
    listaRutas.Delimiter := ';';
    listaRutas.DelimitedText := archivoOrigen;

    for i := 0 to listaRutas.Count - 1 do
    begin
      rutaArchivo := listaRutas[i];
      nombreArchivo := ExtractFileName(rutaArchivo);
      rutaDestinoCompleta := IncludeTrailingPathDelimiter(archivoDestino) + nombreArchivo;

      if FileExists(rutaDestinoCompleta) then
      begin
        if ExtractFileExt(nombreArchivo).ToLower = '.exe' then
        begin
          ExistingFileName := IncludeTrailingPathDelimiter(archivoDestino) +
            ChangeFileExt(nombreArchivo, FormatDateTime('dd-mm-yyyy-hhnnss', Now)) + ExtractFileExt(nombreArchivo);
          RenameFile(rutaDestinoCompleta, ExistingFileName);
        end;
      end;

      try
        serverMethods := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
        stream := serverMethods .DownloadFile(rutaArchivo);
        try
          with TFileStream.Create(rutaDestinoCompleta, fmCreate) do
          try
            CopyFrom(stream, 0);
          finally
            Free;
          end;
        finally
          FreeAndNil(stream);
          FreeAndNil(serverMethods);
        end;

        if ExtractFileExt(rutaDestinoCompleta) = '.sql' then
          ExecuteSQLFromFile(rutaDestinoCompleta, 'SS');
      except
        on E: Exception do
          ShowMessage('Error al copiar ' + nombreArchivo + ': ' + E.Message);
      end;
    end;
  finally
    FreeAndNil(listaRutas);
  end;
  Application.ProcessMessages;
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Traspaso Archivos Cliente/Servidor javier14 Varios 1 08-11-2023 15:23:49
copiar tablas que cambiar poco al cliente hibero Providers 1 25-06-2008 21:43:29
Cliente-Servidor en VPN CoCaInE Conexión con bases de datos 7 11-06-2006 05:57:17
Cliente Servidor .NET radaalvaro .NET 0 09-01-2006 04:21:42
archivos avi en aplicacion cliente servidor Choclito Firebird e Interbase 1 26-11-2004 09:23:39


La franja horaria es GMT +2. Ahora son las 23:30:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi