FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Quien es mi Form Padre?
Hola amigos de la Comunidad:
Tengo un formulario principal que es normal no MDI. En este formulario tengo un menú y cuando llamo a alguna opción de éste, quiero abrir una ventana MDI con sus respectivas hijas Esto lo hago sin problemas, pero cuando llamo a las hijas de este MDI, me da el error de 'No MDI Form are Currently active'. Mi pregunta es: ¿Como le especifico al formulario hijo que se abra en un MDI específico?, algo así como: 'Tu padre es este...' Desde ya, muchas gracias |
#2
|
||||
|
||||
Pues si la cosa esta como dices deberia funcionarte correctamente, de todas formas ¿Te funciona asi al crear el formulario en ejecución?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
|||
|
|||
¿Quen es mi Padre?
Asi es, mira, en el Menú principal tengo:
'Padre' es MDI y se crea perfectamente y dentro de éste:
Y me manda el error de 'No MDI are currently active' ¿Estoy haciendo algo mal? |
#4
|
||||
|
||||
Hola Gabrio,
Todos los formularios tienen un array que almacena los Formularios hijos que pueda tener: MainForm.MDIChildCount Puedes recorrerlo asi: Código:
var VariableTipoTFORM: Tform; for i:= 0 to MainForm.MDIChildCount-1 do begin VariableTipoTFORM:= MainForm.MDIChildren[i]; end;//For Quiero aclararte que en el codigo de ejemplo que pones el parametro que se pasa en el método create, no es precisamente el padre del objeto. Código:
Hijo := THijo.Create(Padre); La moyoria de lso objetos tienen una propiedad llamada Parent (este si es el padre)... Lo normal sería que pudieras hacer esto: Código:
FormHijo.parent:=FormPadre Por Otro lado una aplicación solo puede tener un Formulario tipo MDI Y al crear un Formulario tipo MDIChild, el compilador lo asigna automáticamente al unico MDI que debe haber... No tengo un Delphi a la mano para reproducir tu error, pero deberia funcionarte, a menos que al crearse el formulario no lo este haciendo como tipo MDI, o que exista una restricción adicional en Delphi que Obligue a que el MDI sea siempre el Form Principal... Entiendo que tu Form MDI no es el principal.... Bueno, son solo ideas, revisa y nos cuentas... |
#5
|
|||
|
|||
¿Quien es mi padre?
Ok, desde el Padre, hago lo siguiente:
Funciona, pero el efecto visible no es lo mejor, esto debido a que cuando el formulario se crea, se muestra al centro, luego, al cambiar el Parent, se visualiza dentro del Padre, dando un efecto como de aparición - desaparición. Intenté esto:
Pero al cerrar el Formulario Principal, lanza un error que dice más o menos: 'El Identificador de la Ventana no es válido'. Y estoy casi seguro que esto es porque no se libera de memoria al hijo desde el padre. ¿Otra Idea? Gracias por tu excelente explicación y consejos gatosoft |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
continuacion a ¿quien llamo a mi form? | FGarcia | Varios | 3 | 19-06-2007 23:50:44 |
Voy a ser Padre | ContraVeneno | La Taberna | 28 | 10-01-2007 18:17:43 |
Enviar datos al form padre | ANG4L | Varios | 9 | 18-05-2006 00:42:07 |
¿Quién llamó mi form? | dape | OOP | 7 | 13-04-2006 02:24:59 |
No aparecn las propiedades Published de un form Padre | bataola | OOP | 6 | 09-08-2005 19:58:52 |
|