ruta de ejecución

27/12/2006 - 11:36 por Juan Martínez | Informe spam
Hola: Estoy creando una aplicación vb.net (vengo del mundo vb6) y al utilizar
la forma
<appSettings>
<add key="ReportAlbaranes" value="./tmp/albaran.xml"/>
</appSettings>
en app.config con ./ para indicar el directorio raiz de mi app. me salta un
error de que no encuentra la ruta del fichero xml porque la ejecuta desde el
directorio ./bin/debug

El directorio tmp para albergar los ficheros temporales y de configuración
lo he creado a mano desde el propio IDE en el solution explorer.

Podéis prestarme alguna ayuda, por favor?

Muchísimas gracias... FELIZ NAVIDAD

Preguntas similare

Leer las respuestas

#1 SoftJaén
27/12/2006 - 18:25 | Informe spam
"Juan Martínez" escribió:

Estoy creando una aplicación vb.net (vengo del mundo vb6) y al utilizar
la forma
<appSettings>
<add key="ReportAlbaranes" value="./tmp/albaran.xml"/>
</appSettings>
en app.config con ./ para indicar el directorio raiz de mi app. me salta
un error de que no encuentra la ruta del fichero xml porque la ejecuta
desde el directorio ./bin/debug

El directorio tmp para albergar los ficheros temporales y de configuración
lo he creado a mano desde el propio IDE en el solution explorer.



Hola, Juan:

Si la carpeta Tmp se encuentra al mismo nivel que la carpeta Bin, y el
archivo ejecutable se encuentra en la carpeta Bin, en lugar de un punto
deberás especificar dos puntos:

../tmp/albaran.xml

Es decir, la estructura digamos que es la siguiente:

C:\Carpeta\Bin\Archivo.exe
C:\Carpeta\Tmp

Un punto se especificaría si la carpeta temporal es una subcarpeta de la
carpeta Bin:

./tmp/albaran.xml

C:\Carpeta\Bin\Archivo.exe
C:\Carpeta\Bin\Tmp

Un saludo y ¡Feliz Año Nuevo!

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 SoftJaén
27/12/2006 - 20:05 | Informe spam
"Juan Martínez" escribió:

Otra cosita... soy ABSOLUTAMENTE INCAPAZ de descargar un form tipo login
(antiguo unload(formname)). Si antes o después de invocar al formulario
MDI padre de la aplicación (frmMenuPrincipal.show) invoco frmLogin.close o
frmlogin.dispone me finaliza TODA LA APLICACIÓN... que puedo hacer????



En las propiedades del proyecto, ¿qué formulario tienes marcado como objeto
inicial?

Si tienes marcado el formulario MDI, llamarías al formulario "login" de la
siguiente manera:

' Llamamos al formulario de manera modal
'
Dim frm As New frmLogin
frm.ShowDialog()
frm.Dispose()

Y el formulario tipo "login", lo cerrarías llamando a su método «Close»:

frmLogin.Close

Pero si por casualidad, tienes al formulario «frmLogin» marcado como objeto
inicial de la aplicación, cuando se cierre dicho formulario, finalizará la
aplicación si no efectúas una llamada al formulario principal.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#3 Juan Martínez
28/12/2006 - 09:49 | Informe spam
Gracias por tu ayuda once again, Enrique. Te cuento:
Mi form de inicio no es el mdi, sino el de login. invoco una función que me
autentica contra un servidor mySQL y cuando esta autenticación es OK, muestro
el form mdi padre (FrmPpal.show). Desde este mismo form en el evento load
(como antiguamente) realizo el cierre del anterior, y esto provoca que mi
aplicación finalice.
-
Private Sub FrmPpal_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Me.Text = "Sesión en servidor (" & gsServer & ") abierta para: " &
gsNombreLargo & ". Último login: " & gsLastLogin
FrmAcceso.Close()
End Sub
-

Por otro lado, y al hilo de lo de los directorios de ayer... como hago para
publicar la aplicación incluyendo este directorio ¿? el publish de vs 2005 te
instala las cosas donde le apetece, no?

Estoy en deuda contigo, amiguete. Ya me contarás.
Respuesta Responder a este mensaje
#4 SoftJaén
28/12/2006 - 10:50 | Informe spam
"Juan Martínez" escribió:

Mi form de inicio no es el mdi, sino el de login. invoco una función que
me autentica contra un servidor mySQL y cuando esta autenticación es
OK, muestro el form mdi padre (FrmPpal.show). Desde este mismo form
en el evento load (como antiguamente) realizo el cierre del anterior, y
esto provoca que mi aplicación finalice.



¡Vamos a ver! Como te indiqué anteriormente, si el formulario "login" es el
objeto inicial de la aplicación, al cerrar dicho formulario se cierra la
aplicación. Así de claro y sencillo.

Lo correcto sería que el formulario MDI sea el de inicio, y desde su evento
«Load» llamaras de manera modal al formulario "login", tal y como te
expliqué en mi anterior mensaje. Si la autenticación del usuario es
correcta, cerrarías el formulario "login" y la aplicación continuaría su
proceso; en caso contrario, finalizaria la aplicación.

Por otro lado, y al hilo de lo de los directorios de ayer... como hago
para publicar la aplicación incluyendo este directorio ¿? el publish de
vs 2005 te instala las cosas donde le apetece, no?



Disculpa, pero ... ¿Qué es el "publish" de vs 2005?

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#5 Juan Martínez
28/12/2006 - 11:26 | Informe spam
jeje, gracias por tu paciencia... pero es que estoy muy chapado a VB6...

He hecho lo que dices y funciona, pero tiene el inconveniente de que te
muestra el MDI detrás de la pantalla de login, y eso no es muy bonito que se
diga. Lo soluciono haciendo un hide y ya está. En cualquier caso, y en VB6
sin duda, cuando cierras el form que arranca la app. si antes (o creo
recordar que incluso después del unload(me)) has hecho un frmMDI.show la
aplicación NO FINALIZA, de esto estoy completamente seguro. Ahora en .net es
diferente, aunque realmente no quiero saber por que.

Lo del publish es la creación de un instalador para tus clientes. menu
build->publish <nombreproyecto>. Antes, si teníamos una serie de directorios
para ficheros de configuración, librerías, etc. había una opción al generar
el instalador que te creaba dichos directorios al realizar la instalación en
el cliente, pero ahora la verdad es que no entiendo nada de lo que hace (te
crea unos directorios de nombres rarísimos dentro del localsettings del home
de usuario logado, vamos que no entiendo nada). Bendito VB6.

Una vez más, te agradezco enormemente tu ayuda, que considero muy positiva.

salu2

"SoftJaén" wrote:

"Juan Martínez" escribió:

> Mi form de inicio no es el mdi, sino el de login. invoco una función que
> me autentica contra un servidor mySQL y cuando esta autenticación es
> OK, muestro el form mdi padre (FrmPpal.show). Desde este mismo form
> en el evento load (como antiguamente) realizo el cierre del anterior, y
> esto provoca que mi aplicación finalice.

¡Vamos a ver! Como te indiqué anteriormente, si el formulario "login" es el
objeto inicial de la aplicación, al cerrar dicho formulario se cierra la
aplicación. Así de claro y sencillo.

Lo correcto sería que el formulario MDI sea el de inicio, y desde su evento
«Load» llamaras de manera modal al formulario "login", tal y como te
expliqué en mi anterior mensaje. Si la autenticación del usuario es
correcta, cerrarías el formulario "login" y la aplicación continuaría su
proceso; en caso contrario, finalizaria la aplicación.

> Por otro lado, y al hilo de lo de los directorios de ayer... como hago
> para publicar la aplicación incluyendo este directorio ¿? el publish de
> vs 2005 te instala las cosas donde le apetece, no?

Disculpa, pero ... ¿Qué es el "publish" de vs 2005?

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida