añadir/insertar formulario en tiempo de ejecución

josela
19 de Julio del 2005
Saludos,
De antemano, gracias a todos.
Haber si me explico bien porque el tema no es facil (creo !!); yo no he encontrado nada. No vale ni codigo de VBA ni de VB.NET

Añadir formularios en tiempo de ejecución (por código), o añadir modulos *.bas.
Ha de ser así porque ha de servir para abrirlos desde otros muchos aplicativos. De lo contrario, insertándolos en tiempo de diseño, todos los aplicativos iniciales tendrían repetidos todos los formularios a añadir y pesarían mucho en memoria.

Yo ya habia hecho algo semejante con VBA para un aplicativo externo que no es de visual basic:

Lo añadía así:

pApp.VBE.activevbproject.vbcomponents.Import (ruta & nombreModuloBas)

Para ejecutarlo era así:

VBapp.RunVBAMacro "Project", "module1", "LeeTxt", Nothing

En el ejemplo añado un modulo *.bas

Pero ahora es importar en un proyecto de VB. He de añadir tanto formularios como modulos *.bas
Y, si el formulario añadido se llama frmEdicio, poder abrirlo mediante frmEdicio.show

¿Es posible? ¿sabeis como hacerlo? ¿Hay algo semejante a lo de vbcomponents.Import pero para un proyecto de VB?

Repito, muchas gracias por todo.

mvallejos
19 de Julio del 2005
Lo que se puede hacer es algo como esto

Dim F As New FrmEdicio

F.Show

Con esto, estás creando instancias distintas del mismo formulario

Espero que sirva como punto de partida

Saludos


josela
19 de Julio del 2005
El formulario no existe en el proyecto.
Existe en memoria. Como si fuera un formulario de otra aplicación.

Imagina que cuando el aplicativo se compila en *.exe solo existe un formulario en el proyecto.vbp

Se trata de agregar un segundo formulario en tiempo de ejecución. No se trata de "instanciar" uno ya existente.

Asi, que creo que lo tuyo no me sirve.
De todas formas gracias.