Ver Mensaje Individual
  #5  
Antiguo 08-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jhonalone.

Supongamos que el equipo donde se encuentra el programa se llama DESKTOP y tu portátil NOTEBOOK. También supongamos que el programa se encuentra en la ubicacion: C:\MiPrograma.

Bién, ahora la ubicación que devuelva GetCurrentDir, es relativa al equipo que esté ejecutando la aplicación, por ejemplo la instrucción:
Código Delphi [-]
  ShowMessage(GetCurrentDir);
. Ejecutada desde DESKTOP mostrará: C:\MiPrograma
. Ejecutada desde NOTEBOOK mostrara: \\DESKTOP\MiPrograma

El problema es que si desde NOTEBOOK haces una una copia usando la cadena: 'C:\MiPrograma', estas haciendo referencia al disco C: de NOTEBOOK y no de DESKTOP.
No es una idea inteligente espejar los directorios para solapar el error, por que cuando pienses que estas copiando en DESKTOP lo harás en NOTEBOOK.

Para verificarlo, podés realizar una simple prueba: Una aplicación con un TButton y el siguiente código:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not CopyFile(PChar('C:\MiPrograma\Archivo.txt'), PChar('C:\MiPrograma\Archivo.bak'), True) then
    ShowMessage('ERROR. No se pudo realizar la copia');
end;

.Ejecutado desde DESKTOP, realiza la copia sin problemas.
.Ejecutado desde NOTEBOOK muestra el mensaje: 'ERROR. No se pudo realizar la copia'.

Eso sucede por que la aplicación no puede saber desde donde fué ejecutada.

Saludos.

Edito: Ya me olvidaba... : I/O Error 21: ERROR_NOT_READY (The device is not ready)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 08-08-2011 a las 09:27:10. Razón: Agregar comentario
Responder Con Cita