Vb6 a VB.NET

09/11/2006 - 15:10 por Diego ® M Romero | Informe spam
Hola
A ver si me puede ayudar.

Estoy iniciando a programar con vb.net 2005, pero no se como hacer lo que
antes hacia en mis aplicaciones con vb6:
Tenía la siguiente estructura:

Proyecto ActiveX Dll 1 ' Funciones de proposito general
Proyecto ActiveX Dll 2 'Funciones de acceso a datos
y es este proyecto se hacía referencia a ActiveX Dll 1
Proyecto ActiveX Dll 3' Otras funciones
..
Proyecto ActiveX Dll n... y asi sucesivamente

Proyecto Exe ' donde se hacía referencia a todos los proyectos ActiveX Dll

En este proyecto crearba un modulo con la función SubMain para iniciar la
aplicación.

Actualmente en VB.NET
Creo una solución
Creo una función Sub main en el un modulo, pero al llamar el primer
formulario, lo muestra y desaparece inmediatamente.

¿Como crear la anterior estructura de proyectos en VB.NET?

Gracias

Diego

Preguntas similare

Leer las respuestas

#1 SoftJaén
09/11/2006 - 15:43 | Informe spam
"Diego ® M Romero" escribió:

Actualmente en VB.NET
Creo una solución
Creo una función Sub main en el un modulo, pero al llamar el primer
formulario, lo muestra y desaparece inmediatamente.

¿Como crear la anterior estructura de proyectos en VB.NET?



Hola, Diego:

Si el objeto inicial de la aplicación es el procedimiento «Sub Main», es
normal que la aplicación finalice cuando cierras el primer formulario. Es lo
mismo que si estableces el objeto inicial de la aplicación, a cualquier
formulario del proyecto: cuando se cierre dicho formulario, finalizará la
aplicación.

La solución pasaría en ejecutar desde el procedimiento «Sub Main», el
formulario que actúe, digamos que de formulario principal. Cuando se
muestre, podrás llamar desde éste formulario, a otros formularios existentes
en tu aplicación, pero debes de tener en cuenta, que cuando cierres el
formulario que actúa de principal, el flujo del código volverá al
procedimiento «Sub Main», y si en éste procedimiento, no hay más llamadas a
otros formularios, la aplicación finalizará normalmente:

Module Module1

Sub Main()

' Referenciamos el formulario que actuará de formulario principal.
'
Dim frm As New Form1

' Mostramos el formulario inicial.
'
Application.Run(frm)

MessageBox.Show("Se ha cerrado el formulario principal. " & _
"La aplicación finalizará.")

End Sub

End Module

Un saludo

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 Diego ® M Romero
09/11/2006 - 21:32 | Informe spam
Esto estaba haciendo yo, solo que utilizo el meto Show para mostrar el
formulario
Module Module1

Sub Main()

' Referenciamos el formulario que actuará de formulario principal.
'
Dim frm As New Form1

' Mostramos el formulario inicial.
'
Application.Run(frm)



frm.Show()
' y aqui se abre e inmediatamente se cierra
¿ Que diferencia hay entre Show y Application.Run


MessageBox.Show("Se ha cerrado el formulario principal. " & _
"La aplicación finalizará.")

End Sub

End Module



"SoftJaén" escribió en el mensaje
news:u5n$
"Diego ® M Romero" escribió:

> Actualmente en VB.NET
> Creo una solución
> Creo una función Sub main en el un modulo, pero al llamar el primer
> formulario, lo muestra y desaparece inmediatamente.
>
> ¿Como crear la anterior estructura de proyectos en VB.NET?

Hola, Diego:

Si el objeto inicial de la aplicación es el procedimiento «Sub Main», es
normal que la aplicación finalice cuando cierras el primer formulario. Es


lo
mismo que si estableces el objeto inicial de la aplicación, a cualquier
formulario del proyecto: cuando se cierre dicho formulario, finalizará la
aplicación.

La solución pasaría en ejecutar desde el procedimiento «Sub Main», el
formulario que actúe, digamos que de formulario principal. Cuando se
muestre, podrás llamar desde éste formulario, a otros formularios


existentes
en tu aplicación, pero debes de tener en cuenta, que cuando cierres el
formulario que actúa de principal, el flujo del código volverá al
procedimiento «Sub Main», y si en éste procedimiento, no hay más llamadas


a
otros formularios, la aplicación finalizará normalmente:

Module Module1

Sub Main()

' Referenciamos el formulario que actuará de formulario principal.
'
Dim frm As New Form1

' Mostramos el formulario inicial.
'
Application.Run(frm)

MessageBox.Show("Se ha cerrado el formulario principal. " & _
"La aplicación finalizará.")

End Sub

End Module

Un saludo

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 SoftJaén
10/11/2006 - 14:41 | Informe spam
"Diego ® M Romero" escribió:

Esto estaba haciendo yo, solo que utilizo el meto Show para mostrar el
formulario

frm.Show()

y aqui se abre e inmediatamente se cierra



Si llamas al método «Show» de la clase Form desde el procedimiento «Sub
Main», puede ser que ni siquiera seas capaz de ver el formulario si tienes
un procesador rápido. :-)

Al igual que en Visual Basic clásico, el método «Show» muestra un formulario
de manera «no modal», lo que significa que el código fuente continúa su
ejecución. En Visual Basic 6.0, había que cerrar expresamente el formulario
para finalizar la aplicación, pero en Visual Basic .net no es necesario, por
lo que una vez mostrado el formulario de manera no modal, el flujo de la
ejecución del código vuelve al procedimiento Sub Main. Si posteriormente hay
otras instrucciones, éstas se ejecutarán, pero de no haber ninguna, la
aplicación finalizará sin más, cerrándose todos los formularios no modales
que estuviesen abiertos.

¿ Que diferencia hay entre Show y Application.Run



Pues existe bastante diferencia. Básicamente, llamar al método «Run» del
objeto «Application» es la manera de iniciar una aplicación en Visual Basic
.net desde el objeto de inicio «Sub Main», mostrándose el formulario que
hayas referenciado en el parámetro «mainForm», de ésta forma, podrás ver el
formulario principal hasta que expresamente lo cierres, que es cuando el
flujo de la ejecución del código regresará al procedimiento «Sub Main»,
ejecutándose las restantes instrucciones que existan en dicho procedimiento
antes de que la aplicación finalice:

Module Module1
Public Sub Main()
' Iniciamos la aplicación, mostrando el formulario
' principal de la misma.
'
Application.Run(New Form1)

' Finaliza la aplicación.

End Sub
End Module

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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida