Ver Mensaje Individual
  #2  
Antiguo 06-08-2011
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
No se qué pasó.

No se incorporó la mitad de mi post. Acabo de verlo ahora, disculpadme.

Justo después de las dos barras inversas "\\" se perdió TODO lo que había escrito. Vuelvo a escribir todo el mensaje.

Hola Compañeros! Agradecería vuestra ayuda.

A ver si sé explicarme.

Tengo una red doméstica entre mi PC sobremesa y el portátil.

Tengo un programa instalado en el PC sobremesa y lo quiero ejecutar desde el portátil. Bueno, hasta aquí no hay problema, he conseguido ejecutarlo.

Cuando uso ficheros que están en el directorio del programa, no tengo problemas en leerlos y grabarlos desde el programa ejecutado en el portátil, como si estuviera en el de sobremesa, vamos.

El problema surge cuando tengo que usar un fichero con una path determinada en el PC sobremesa o cuando quiero utilizar GetCurrentDir, que me proporciona una dirección que luego me da error al utilizarla. P.e.: al buscar archivos del directorio actual me proporciona una dirección como la siguiente "\ \ PC1\Dir1\fichero.ext" (Pongo las barras invertidas separadas, para que no me pase lo mismo. Esta es la path facilitada por GetCurrentDir)

"PC1" es el nombre asignado al PC de sobremesa, "Dir1" es el nombre asignado al directorio compartido, donde reside el ejecutable. "fichero.ext" es el nombre de cualquier fichero en el "Dir1"

Cuando intento utilizar la Path recibida para copiar un fichero, (dentro del mismo directorio compartido, pero con otro nombre) con el siguiente procedimiento, no realiza la acción.
Código Delphi [-]
procedure CopyFiles(Source, Dest: String);
var
  FileOpInfo: TShFileOpStruct;
begin
  FillChar(FileOpInfo, SizeOf(FileOpInfo), 0);
  FileOpInfo.wFunc := FO_COPY;
  FileOpInfo.pFrom := PChar(Source + #0);
  FileOpInfo.pTo := PChar(Dest);
  FileOpInfo.fFlags := FOF_NOCONFIRMMKDIR;
  ShFileOperation(FileOpInfo);
end;

El mismo problema se manifiesta en otra fase del programa, donde intento hacer una copia de seguridad a un subdirectorio, dentro del directorio donde está ubicado el ejecutable.

En un fichero tengo almacenada la dirección donde el usuario ha elegido hacer la copia de seguridad. (Puede ser en el mismo directorio y PC, como es el caso, o en otro PC de la red, que no lo he probado)

Bien, la dirección es del tipo: "C:\MiPrograma\CopySegu"

DirectoryExists("C:\MiPrograma\CopySegu") responde que no existe (aunque exista)

MKDir("C:\MiPrograma\CopySegu") da Error #21 (no sé qué significa, pero supongo que será que no encuentra la path)

Y aquí estoy. No sé como direccionar desde Delphi7 los ficheros que residen en un PC de la red.

CREO QUE ES OBVIO DECIR QUE TODO FUNCIONA PERFECTAMENTE SI NO ESTA EN RED.

Es la primera vez que voy a intentar utilizar un programa en red local y estoy bastante perdido.

Agradeceré cualquier sugerencia o ayuda.

Saludos.
Responder Con Cita