FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Obtener ruta completa de RED
Buenas amigos, mi aplicación esta ejecutandose en RED y queria saber si se puede saber la ruta completa desde donde ejecuto mi programa.
Para obtener la ruta en LOCAL utilizo y el resultado sería algo como Código:
c:\carpeta de programa\programa.exe Código:
\\servidor\programa.exe Como puedo obtener desde un terminal, la ruta completa del programa que se ejecuta en un servidor? Gracias a todos |
#2
|
||||
|
||||
Cita:
Si no entiendo mal, lo que te está mostrando ahí es la ruta completa a la ubicación de la aplicacion en el servidor. Si lo que deseas obtener es una letra de unidad, previamente debes asignarle una en 'conectar a unidad de red'. Es decir que la letra es local y no asignada por el servidor. Con esto quiero decir que a:\\Servidor\Sistema\Programa.exe. En un equipo se le puede asignar: X:\Servidor\Sistema\Programa.exe y en otro: F:\Servidor\Sistema\Programa.exe, refiriendose en ambos casos a la misma aplicación. Esto nos deja hacer referencia de dos modos a la aplicación. 1.- Refiriendo la letra de unidad asignada F:\Servidor\Sistema\Programa.exe. 2.- Buscando la ruta a la carpeta contenedora en la red \\Servidor\Sistema\Programa.exe. La letra de unidad funciona de forma similar a el alias de Delphi. Saludos. Última edición por ecfisa fecha: 14-08-2010 a las 22:58:01. |
#3
|
|||
|
|||
ECFISA, tu mensaje no acabo de entenderlo, porque si dices \\Servidor\Sistema\, quieres decir que Servidor es el nombre del PC y hasta donde yo se, no se puede crear una unidad de RED X:\Servidor\Sistema, en todo caso seria X:\Sistema, verdad ?
Es que creo que no me he sabido explicar nada, lo siento, Intentaré explicarme mejor ahora: 1. Tengo un servidor donde esta instalada mi aplicación, en la carpeta c:\programas\programa_xx\programa.exe. Estoy obligado a instalarlo allí. 2. Este servidor tiene compartido la carpeta "programa_xx", tampoco me dejan cambiar esto. 3. En otro terminal (PC), he creado una unidad de RED "X" a esa carpeta compartida, con lo que para acceder a mi programa, quedaria así: X:\programa.exe. Llegados a este punto: 4. Ejecuto mi programa desde el terminal 5. y si pido la RUTA del programa, con la funcion "ExtractFilePath(Application.ExeName)", me devuelve "X:\" y a mi me interesa "c:\programas\programa_xx\", que es la ruta del servidor donde esta instalado mi programa. Hay alguna manera de obtener esta ruta "c:\programas\programa_xx\"? Espero que esta vez se entienda mejor mi duda, lo siento pero a veces cuesta explicarse. Gracias a todos y espero que alguien pueda ayudarme Última edición por JordiP fecha: 16-08-2010 a las 15:57:16. |
#4
|
||||
|
||||
Hola JordiP.
Si, tenés razon. Al reemplazar la ruta al servidor por la letra de unidad, no va "\Servidor": 'sintax error' . Ahora vamos a tu pregunta: (seré cuidadoso con la sintáxis... ) Lo que te quise decir, es que, (hasta donde yo sé), la 'letra de unidad' y la carpeta(si la hay), del servidor, donde se encuentra la aplicación; es transparente para el resto de los equipos de red. De esta manera, cualquier cambio que se realize en el servidor, no afecta a los equipos clientes . En mi humilde opinión, no creo que se pueda. Saludos. Última edición por ecfisa fecha: 16-08-2010 a las 23:06:15. |
#5
|
|||
|
|||
Gracias ECFISA, eso mismo creo yo, pero si alguien sabe alguna manera de hacerlo, agradecido quedare de por vida, jeje
|
#6
|
||||
|
||||
Seguramente se puede con alguna función de la API de windows, pero se me ocurre una forma "chapuza", un programita en el servidor que al ejecutarlo guarde la ruta en un fichero de texto, por ejemplo. Luego, desde tu programa, sólo has de leer ese fichero.
Puedes ejecutarlo al iniciar el sistema, por ejemplo. |
#7
|
||||
|
||||
Cita:
Ahora lo que no me queda en claro que se puede hacer con la 'letra' obtenida. Creo JordiP que nos haría falta la función API que menciona Casimiro; habrá que seguir buscando. Saludos. |
#8
|
||||
|
||||
Perdon por mi ignorancia..
Pero si yo accedo a traves de un net Sharing o carpeta compartida o como sea.. desde mi equipo la ruta de acceso va a ser como la que te muestra en este caso windows. (LEtra de unidad Compartida \ carpeta o Ruta servidor \ Carpeta) la mejor opcion que se me ocurre es la solucion que te dio Casimiro. Porque salvo que estes utilizando alguna maquina Virtual (no se llama asi pero no recuerdo el nombre) como Citrix la aplicacion se ejecuta en tu equipo, alojado en la carpeta o ruta compartida. (no la real). (creo ojo.) |
#9
|
||||
|
||||
Parecido a lo que te comentaba Casimiro, en un tabla de una base de datos puedes ir guardando el nombre de la aplicación y la ruta donde está instalada a la hora de instalar, cuando desde un terminal estes ejecutando la aplicación y quieras saber su ruta, como la aplicación se llamará igual, buscala por el nombre en la tabla por medio de una consulta y así podrás saber la dirección.
Un saludo. |
#10
|
|||
|
|||
Gracias a todos, es lo que ya habia pensado y lo he puesto en marcha ya.
No creo que sea una chapuza, digamos que es una solución valida. Garcias nuevamente amigos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Obtener direccion , ruta completa de mi programa | Peterman | Varios | 8 | 08-06-2007 12:25:13 |
Ruta completa de proceso | locojoan | API de Windows | 6 | 31-10-2006 13:49:09 |
Sobre la ruta completa de un EXE | oscjae | API de Windows | 6 | 25-07-2006 12:36:15 |
Obtener ruta completa | pepecharlie67 | Varios | 4 | 02-01-2006 15:25:39 |
¿Siempre hay que poner la ruta completa de la base de datos que está en el servidor? | Al González | Firebird e Interbase | 2 | 12-05-2004 22:06:25 |
|