FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ruta/Dirección/Path en PC Remoto
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 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 \ |
#2
|
|||
|
|||
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.
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. |
#3
|
||||
|
||||
Cita:
Con relación al Error # 21 tampoco sé que significa. Pero pueden ser dos cosas: 1) que la ruta "C:\MiPrograma\" no exista o 2) que la aplicación no tenga permisos para crear carpetas en la raiz C:\. Cita:
Por último, podrías detallar un poco más los errores que está generando la aplicación. Saludos, Chris |
#4
|
|||
|
|||
Gracias Chris, por leerme y por querer ayudarme.
El "otro nombre" se refiere a que el mismo fichero (P.e: "fichero.txt" le duplico para hacer copia de seguridad con el nombre "fichero2.txt", pero en el mismo directorio del ejecutable. No sé muy bien como funciona esto, ¿quieres decir que, aunque el programa ejecutable está en el PC de sobremesa, si yo le doy una ruta, la va a buscar en el portátil, desde el que ejecuto el programa? Sin embargo, el resto de ficheros que no direcciono, sino dejo por defecto los está escribiendo corrrectamente en el PC de escritorio. Y cuando le pido GetDir() o GetCurrentDir, me facilita una ruta con los datos de los nombres de la red, pero luego no puedo utilizarla para acceder a ellos, ni en el mismo directorio del ejecutable. Ya te dije que entiendo poco de esto, si puedes o conoces algún manual rápido de redes locales, te agradezco me lo indiques y así resolver las cuestiones, que pueden ser triviales si las conoces, pero insalvables si no las cononoces. Gracias de todos modos. Chris. Un saludo. |
#5
|
||||
|
||||
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: . 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:
.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 |
#6
|
|||
|
|||
Gracias, Ecfisa.
¡Qué grande eres y que bien te explicas! No te he respondido antes porque he estado probando. Si no he comprendido mal, cuando quiera referirme desde NOTEBOOK, a una dirección de DESKTOP, deberé sustituir, (siguiendo tu ejemplo) C:\MiPrograma por \\DESKTOP\MiPrograma y siguiendo esta lógica, C:\Ejemplo\Primero\MiPrograma SE DEBERÍA CAMBIAR por \\ DESKTOP\Ejemplo\Primero\MiPrograma ¿y los problemas de direcciones en red se solucionarían de este modo? Gracias por tu esfuerzo y por tu ayuda. Saludos. |
#7
|
|||
|
|||
Cita:
siempre me regresa el error de que no se pudo copiar, me podrias comentar si algo esta mal? lo hago desde la linea de comandos y si lo ejecuta mm gracias salu2 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Path del recurso compartido remoto | jaimeh | Varios | 1 | 21-05-2010 12:48:05 |
The path could no be found (no se encentra la ruta) | Lucas_diaz1810 | Conexión con bases de datos | 4 | 20-09-2007 19:58:53 |
Obtener direccion , ruta completa de mi programa | Peterman | Varios | 8 | 08-06-2007 12:25:13 |
Problemas con los Path | marceloalegre | Varios | 4 | 29-04-2005 13:17:32 |
path de un alias | carlomagno | Conexión con bases de datos | 1 | 28-04-2005 13:57:11 |
|