Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-07-2004
perrogrun perrogrun is offline
Miembro
 
Registrado: ene 2004
Ubicación: Fuengirola
Posts: 41
Poder: 0
perrogrun Va por buen camino
Problmas con SHFILEOPSTRUCT

Hola amigos, estoy haciendo un programita para hacer copias de seguridad y para copiar los archivos utilizo SHFILEOPSTRUCT, todo funciona bien, pero cuando hay algún archivo que no ha creado el usuario que corre el programa o hay un archivo en uso me dice que es imposible copiarlo y se me para el programa, mi pregunta es si hay alguna manera de que si encuentra este problema, salte ese archivo y continúe con el siguiente.

Un saludo a todos y gracias.
Responder Con Cita
  #2  
Antiguo 12-08-2004
perrogrun perrogrun is offline
Miembro
 
Registrado: ene 2004
Ubicación: Fuengirola
Posts: 41
Poder: 0
perrogrun Va por buen camino
Ya está solucionado,
Código Delphi [-]
function CopiaTodo(Origen,Destino : String) :
  LongInt;
  var
    F : TShFileOpStruct;
    sOrigen, sDestino : String;
  begin 
    Result := 0;
    sOrigen := Origen + #0;
    sDestino := Destino + #0;
 
    with F do 
    begin
      Wnd   := Application.Handle;
      wFunc := FO_COPY;
      pFrom := @sOrigen[1];
      pTo   := @sDestino[1];
      fFlags :=   FOF_MULTIDESTFILES or FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_NOERRORUI;
    end;
    Result := ShFileOperation(F);
    if Result<>0 then
        begin
            form2.Memo1.Lines.Add('');
            form2.Memo1.Lines.Add('ERROR AL COPIAR EL FICHERO ' + origen +' A ' + destino );
            form2.Memo1.Lines.add('ESTE ERROR PUEDE SER PRODUCIDO PORQUE EL ARCHIVO');
            form2.Memo1.Lines.Add('ESTÁ EN USO CUANDO SE ESTÁ COPIANDO');
            form2.Memo1.Lines.Add('');
            form2.Memo1.Lines.Add('');
        end;
end;
La cuestión era poner FOF_NOERRORUI en las flags para que no aparezca el error, luego para enterarme que ha habido un error lo comunico en un memo ya que si Result es diferente de 0 es que hay un error al copiar.

Bueno, la verdad es que esparaba un poco más de ayuda por vuestra pero...
... la vida es así.

Si quereis más información sobre SHFILEOPSTRUCT aquí teneis el link
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 09:37:04.


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