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

Llamar a un método del form ejecutable desde un proyecto dll

Estas en el tema de Llamar a un método del form ejecutable desde un proyecto dll en el foro de .NET en Foros del Web. Hola, tengo dos proyectos, cada uno con un formulario, el primero es el proyecto ejecutable, el segundo es el proyecto dll, desde el primero que ...
  #1 (permalink)  
Antiguo 02/03/2006, 15:52
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 20 años
Puntos: 0
Llamar a un método del form ejecutable desde un proyecto dll

Hola, tengo dos proyectos, cada uno con un formulario, el primero es el proyecto ejecutable, el segundo es el proyecto dll, desde el primero que tiene una referencia al segundo crero un objeto de instancia y mando a mostrar el formulario form2.

Lo que necesito es mandar a llamar a un método del form1 o principal, para eso una idea que tenía era crear un constructor en el form2 y sobrecargarlo pasando en el momento de crear el objeto del form1 ese formulario al form2 ej del form1:

Formulario2 form2 = new Formulario2(this);
form2.Show();

Y desde el form2 algo asi:

class form2
{
private void form2() //Constructor por defecto
{
}

private void form2(System.Windows.Form Formuario) //Constructor
{
Formulario.Metodoform1(); ?, Como podría llamarlo
}
}

Quise acceder desde el form2 a un método del form1 que es público pero no pude, sino, en caso de tener oculto el form1 y de cerrar el form2 desde un método propio del mismo, como podría mostrar de nuevo el form1 teniendo en cuenta que el fom2 es el proyecto dll?. Que podría hacer en ese caso.

Necesito ayuda, saludos.
  #2 (permalink)  
Antiguo 06/03/2006, 20:38
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 20 años
Puntos: 0
Gracias, ya lo he resuelto, lo hice con delegados
__________________
Julio Hernández
  #3 (permalink)  
Antiguo 22/03/2006, 10:46
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 1 mes
Puntos: 1
Me alegro jc, la otra opción es utilizar una interface en vez de la clase misma.
__________________
saludos
seba
http://sgomez.blogspot.com
  #4 (permalink)  
Antiguo 22/03/2006, 16:23
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 20 años
Puntos: 0
Gracias, podrías darme alguna idea como, voy a releer un poco mas sobre interfaces...
__________________
Julio Hernández
  #5 (permalink)  
Antiguo 23/03/2006, 09:50
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 1 mes
Puntos: 1
No es fácil de explicar online... pero a grandes rasgos lo que deberías hacer es crear una interface con los métodos que quieras acceder desde el form2 (del form1). Luego al form 1 lo haces implementar esa interface y creas el form2 pasándole una la instancia del form1 donde el esperaba recibir una implementación de la interface definida. De esta forma desde el form2 podrás ejecutar form1.metodo, donde método es uno de los definidos en la interface e implementados en el form1.
Espero haber sido "cuasi" claro.
__________________
saludos
seba
http://sgomez.blogspot.com
  #6 (permalink)  
Antiguo 31/03/2006, 10:39
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 20 años
Puntos: 0
Hola Seb, he leído un poco y tiene casi las misma idea de lo como lo implemento con Delegados, pero hay una pequeña pregunta, como puedo enviarle una instancia al form2 del form1 de ese tipo?, para eso tendría que crear una referencia a ese proyecto del form1, pero no se puede porque es una dll y la que lo tiene es el form1.
__________________
Julio Hernández
  #7 (permalink)  
Antiguo 31/03/2006, 11:41
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 18 años, 1 mes
Puntos: 1
Porque tu le mandas la instancia pero no como una instancia de form1 sino que como una implementación de la interface.
Imagina que se comportara como herencia y un método tiene que recibir por parámetro un Vehículo (clase abstracta), por eso método tu puedes mandar (auto, Bicicleta, Omnibus y cualquier particularidad de Vehículo. Con interfaces es lo mismo, tu le dices al método que va a recibir algo del tipo de la interface y después le mandas la instancia del form1, el implementa la interface anteriormente mencionada. Se entiende?

Para ver mas o menos de qué te hablo, puedes bajarte mi ejemplo de Remoting donde utilizo Interfaces. Bájalo, víchalo y dime si hay algo que no entiendas.
http://sgomez.blogspot.com/2006/03/n...r-dummies.html

Ánimo y no desesperes que ya va a salir.
__________________
saludos
seba
http://sgomez.blogspot.com
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 18:47.