Foros del Web » Programación para mayores de 30 ;) » .NET »

cargar formulario desde dll con C#

Estas en el tema de cargar formulario desde dll con C# en el foro de .NET en Foros del Web. Que tal. Soy nuevo en estos foros, asi que si violo alguna normativa, por favor haganmelo saber. Bueno, tengo una pequeña complicacion: Tengo un formulario ...
  #1 (permalink)  
Antiguo 07/10/2008, 12:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 0
cargar formulario desde dll con C#

Que tal.
Soy nuevo en estos foros, asi que si violo alguna normativa, por favor haganmelo saber.

Bueno, tengo una pequeña complicacion:

Tengo un formulario que compile como libreria de clases para generar esa dll. Desde otra aplicacion quiero abrir ese formulario. Con visual basic.net lo hago de la siguiente forma:

Código:
        Dim asmObjeto As Assembly
        Dim objObjeto As Object

        asmObjeto = Assembly.LoadFrom("C:\dll\dll\bin\Debug\dll.dll")
        objObjeto = asmObjeto.CreateInstance("dll.Form1")

        objObjeto.show()
Y funciona perfectamente.
El problema es que yo lo necesito hacer en c#, pero en ese lenguaje no me funciona.

Marca error al hacer objObjeto.show();

Navegando me encontre con que se podia hacer de la siguiente forma:

Código:
            
             Assembly extAssembly = Assembly.LoadFrom("C:\\dll\\dll\\bin\\Debug\\dll.dll");

             Form extForm = extAssembly.CreateInstance("dll.Form1");
             this.AddOwnedForm(extForm);

             extForm.Show();
Pero me da un error en donde esta de color azul. Me dice que no se puede convertir implicitamente un tipo object a un tipo Form.
Alguien ha hecho algo similar que me pueda ayudar?
  #2 (permalink)  
Antiguo 07/10/2008, 12:13
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: cargar formulario desde dll con C#

si usando reflection como lo tienes solo castealo al tipo de forma que es por no siempre sera Form1 o Form2 si sabes que tipo de forma es solo obten el tipo de forma que es que al final hereda de form y listo.

el error es porq object on tiene definido un metodo show pero si lo casteas al tipo de tu forma listo con eso lo puedes hacer o castealo a un Form y ya.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 07/10/2008, 12:19
 
Fecha de Ingreso: octubre-2008
Mensajes: 19
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: cargar formulario desde dll con C#

Tienes razón. Muchas gracias!

El codigo quedò de la siguiente forma:

Código:
            Assembly extAssembly = Assembly.LoadFrom("C:\\dll\\dll\\bin\\Debug\\dll.dll");

             Form extForm = (Form)extAssembly.CreateInstance("dll.Form1");
             this.AddOwnedForm(extForm);

             extForm.Show();
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.