Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2012
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
@[Caral]
Cuando un form se muestra modal, el resto se "desactiva" por decirlo de alguna forma, y luego se vuelven a activar, pero en ningún momento se ejecuta el evento onDeactivate u onActivate. Mi pregunta es, hay algún evento que SI ejecuten siempre en estos casos?
Responder Con Cita
  #2  
Antiguo 08-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por study Ver Mensaje
@[Caral]
Cuando un form se muestra modal, el resto se "desactiva" por decirlo de alguna forma, y luego se vuelven a activar, pero en ningún momento se ejecuta el evento onDeactivate u onActivate. Mi pregunta es, hay algún evento que SI ejecuten siempre en estos casos?
NO, no hay ningun evento en el form que llama, en este caso el form1.
Lo correcto es crear y destruir los forms.
Desde el form que llama, en este caso el form1.
Código Delphi [-]
   Form2:=TForm2.Create(self);
   try
      Form2.ShowModal;
   finally
      Form2.Free;
   end;
Se crea, se muestra y se libera.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 08-02-2012
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
Gracias por las ideas pero ya las había intentado todas, el tema no es pasar la información entre los formularios, sino ejecutar la instrucción precisamente en el momento que el formulario se cierra. El tema es que la estructura de formularios que manejo es bastante compleja, y ejecutar una funcion del Form A desde B se puede pero es bastante complejo por la cantidad de variables posibles.

@oscarac, probando tu idea...
Responder Con Cita
  #4  
Antiguo 08-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por study Ver Mensaje
Gracias por las ideas pero ya las había intentado todas, el tema no es pasar la información entre los formularios, sino ejecutar la instrucción precisamente en el momento que el formulario se cierra. El tema es que la estructura de formularios que manejo es bastante compleja, y ejecutar una funcion del Form A desde B se puede pero es bastante complejo por la cantidad de variables posibles.

@oscarac, probando tu idea...
Es lo mismo que dije, solo que hacer algo despues de cerrar el form:

Código Delphi [-]
Form2:=TForm2.Create(self);
   try
      Form2.ShowModal;
   finally
      Label1.caption:= 'ya cerré el form2 y tengo este dato en el form1';
     Form2.Free;
   end;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 08-02-2012
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
el tema es que los forms no los estoy creando dinamicamente. En general hacerlo así funciona bastante bien. Salvo en algunos casos especificos donde creo que lo voy a solucionar asegurandome de pasarle la referencia de que objeto tiene que ejecutar que funcion al cerrarse. Muhas gracias por su ayuda, al final la solución era mucho mas sencilla de lo que yo quería hacer. Creo que pasar tanto tiempo en PHP me arruino. :P
Responder Con Cita
  #6  
Antiguo 08-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El asunto va mas alla de crear el form dinamicamente.
Si se crean todos al inicio del programa, este se vuelve muy lento.
Para que hacerlo se se va a usar un showModal ?, eso esta bien para un sencillo show.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 08-02-2012
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por study Ver Mensaje
el tema es que los forms no los estoy creando dinamicamente. En general hacerlo así funciona bastante bien. Salvo en algunos casos especificos donde creo que lo voy a solucionar asegurandome de pasarle la referencia de que objeto tiene que ejecutar que funcion al cerrarse. Muhas gracias por su ayuda, al final la solución era mucho mas sencilla de lo que yo quería hacer. Creo que pasar tanto tiempo en PHP me arruino. :P

y como lo solucionaste?
pregnuto por siacaso a alguien mas se le presente la misma inquietud
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #8  
Antiguo 08-02-2012
study study is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
study Va por buen camino
Código Delphi [-]
unit_menganito.form_fulanito.abrir; //funcion que ejecuta Self.showModal entre otras cosas
variable := unit_menganito.form_fulanito.getVariableQueMeInteresa; //Una vez que se cerro 
//el form rescato el dato que me importa

Así funciona bien en un caso básico. Ahora el tema es que tengo uno o dos casos donde por ejemplo formA ejecuta formB que ejecuta formA (no me miren así, se que es una aberración de diseño, lo voy a arreglar). Probablemente termine siendo algo tipo se crea y se ejecuta formA (TFormA) que crea y ejecuta FormB (TformB) que crea y ejecuta FormC (TFormA).

Espero que le sirva al proximo yo que venga con la misma duda.

@ecfisa, muy buena la de crear mi propio evento, en este caso creo que no va a ser necesario, pero me queda la nota para casos futuros.

Última edición por study fecha: 08-02-2012 a las 21:59:35.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer que la app trabaje apenas se ejecute. mibandeja Varios 4 10-09-2008 18:19:35
¿Cómo conocer algún dato de la tupla que ha producido el evento? membrillo Firebird e Interbase 8 25-05-2007 16:33:54
Como hacer que mi alicación trabaje en Red? difesa Tablas planas 1 07-11-2006 19:13:52
CxGrid - a quien trabaje con ella, Help ! RJF Varios 2 14-10-2005 15:03:29
Que trabaje otro. marcoszorrilla Noticias 6 20-07-2005 06:50:04


La franja horaria es GMT +2. Ahora son las 02:58:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi