Ver la Versión Completa : Sobre la ruta completa de un EXE
oscjae
21-07-2006, 16:09:51
Wenas, no se si es aqui donde debo preguntar esto, creo que si.
La cuestion es que tengo un acceso directo de un EXE que esta en otro equipo, en el escritorio, la direccion que me sale con ExtracFilePath es "//Servidor/Programa/programa.exe", el problema viene cuando el ejecutable esta en una unidad que no es la del sistema operativo, por ejemplo, D:\Principal\Programa\programa.exe, como puedo saber a partir de la direccion de antes "//Servidor/Programa/programa.exe" o "//Servidor/Principal/Programa/programa.exe", la unidad en la que esta el ejecutable, y la ruta completa, ya que puede estar compartido el directorio final en el ejemplo "Programa"
No se puede saber, por lo menos desde el ordenador cliente.
El ordenador cliente solo conoce la ruta de red, pero la letra de unidad en el ordenador servidor no se puede saber, podria hasta
no existir (si por ejemplo el servidor que comparte los archivos usa un sistema operativo distinto a windows como unix o linux en los
que no existen letras de unidad).
Lo unico que se me ocurre para que necesites saber la ruta real es que quieras conectar con una base de datos como interbase o firebird
a las que se le debe indicar la ruta fisica de la base de datos. Pero desgraciadamente por lo que he explicado antes no se puede deducir,
asi que la opcion que tienes es escribir en algun archivo .ini o de configuracion la ruta fisica a la base de datos, y que desde el cliente el programa lea ese
archivo de configuracion para saber ese dato. Otra opcion es que crees un ALIAS a la base de datos en el servidor (en el caso de que uses firebird),
de modo que de ese modo no necesitas saber la ruta para conectar con la base de datos, basta saber el nombre del ALIAS que
le hayas dado.
Saludos
oscjae
23-07-2006, 21:40:00
Gracias por responder, imaginaba lo que me has comentado, que no se puede saber, es como tu dices para conectar una base de datos firebird, lo del fichero ini ya lo he probado, pero tampoco puedo leerlo por el mismo problema de antes, y sobre el alias, no puedo leer en el registro de windows del supuesto servidor, que es donde se crea el alias, el alias se crea en el equipo donde estes ejecutando la aplicacion, en un principio no hay alias en el terminal desde donde estoy ejecutando la aplicacion, y lo que yo queria era precisamente crear ese alias a partir de la ruta del acceso directo, pero vamos, que por lo que veo, a no ser que el programa este en la unidad donde esta el sistema operativo, que en ese caso va bien, pues tendre que preguntar al usuario que introduzca la ruta de la base de datos, no veo otra solucion, gracias por responderme
Un fichero de configuracion se puede leer sin problemas a traves de la red,
a windows le da igual acceder a un archivo poniendo
d:\loquesea\archivo
o
\\servidor\loquesea\archivo
Si no te funciona tienes que estar haciendo algo de forma incorrecta, postea el codigo de lectura del archivo de configuracion y podremos
ver cual es el problema.
Saludos
Hola,
a windows le da igual acceder a un archivo poniendo
d:\loquesea\archivo
o
\\servidor\loquesea\archivo
Parece raro... si todavía el archivo INI (por ejemplo) estuviera en la carpeta de Windows o en la del sistema,... pero, si no, me extraña. Ojo, que no digo que no se pueda, que de esto y de otras cosas sabemos tú mucho más que yo. :D
Comprobado lo dicho por Mick
He abierto archivos ini a través de una red local.
Borrado archivos con DeleteFile.
Crear Archivos con un simple SaveToFile del TStringList.
Y por supuesto comprobar si existe (FileExists).
Saludos
oscjae
25-07-2006, 12:36:15
Si, teneis razon, puedo leer el fichero INI, de configuracion, lo estaba haciendo mal.
Pues tendre que hacerlo de esa forma, ya que veo que es la unica, gracias por las respuestas
Salu2 a to2
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.