Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Abrir un MDIForm desde otro (https://www.clubdelphi.com/foros/showthread.php?t=48680)

gabrio 02-10-2007 00:22:21

Abrir un MDIForm desde otro
 
Buenas tarde amigos, mirad, tengo un problemilla:

Tengo una aplicación MDI y necesito que ésta, ejecute una ventana que tambien es MDI y tiene sus propias hijas.

Sabe alguien como puedo lograrlo?

Hasta ahora he intentado:

Form1 : MDIForm
Form2 : MDIForm
Form3 : MDIChild de Form2

En el Form1 :
Form2 := TForm2.Create(Application);

Perfecto, me abrio el form2 que es MDI, ahora, desde el form 2:
Form3:= TForm3.Create(Application);

Error, me abre Form3 que es MDIChild en el form1 y yo lo quiero en el Form2.

Gracias

pborges36 02-10-2007 00:39:03

Hola. por lo poco que entiendo el argumento del create debe ser
el antecesor del objeto que se esta creando. Proba algo asi:

desde el form2
Código Delphi [-]
form3:=Tform3.Create(self);
asi es como yo lo uso

o bien

Código Delphi [-]
form3:=Tform3.Create(form2);
esto se me acaba de ocurrir.

Suerte.

dec 02-10-2007 01:13:13

Hola,

Gabrio, primero que nada, voy a remitirte a la guía de estilo de estos foros. En segundo lugar, me gustaría decir (por enésima vez) que cuando hablemos de errores en los foros es menester exponer de qué error estamos hablando. No vale "me da error", porque eso no dice nada de nada.

Dicho lo cual, no es bien duplicar hilos en los foros, aunque, como no estoy seguro de que sea un duplicado exactamente, no voy a cerrar este. Lo que sí voy a hacer es remitirte a la respuesta que te di en "Aplicación Multi-MDI", puesto que creo que, si sirve, también servirá para lo que planteas ahora... porque si no es lo mismo le falta poco.

PD. La respuesta (para quienes no quieran visitar el hilo en cuestión) es, básicamente, que, si no me equivoco, una aplicación no puede contener sino un formulario "MDIForm", de modo que lo que quieres hacer habrá que hacerlo de otro modo... con otras técnicas, pero, mientras una aplicación MDI no permita más de un formulario "MDIForm" (que alguien me corrija) no podrás hacer lo que quieres.

gabrio 02-10-2007 15:46:17

Fé de Erratas
 
Buenos días dec. Antes que nada, te pido una disculpa porque cuando escribí la palabra 'Error', no me refería a un error en específico, sino que delphi está haciendo lo que debe hacer pero no me sirve (que es abrirme la ventana hija en el MDI principal).

El hecho de haber repetido el hilo, fué porque quería escribir mi pregunta de forma más clara y ya no pude modificar la anterior.

Aunque por lo visto, volví a confundir a la comunidad.

Como quiera, es bueno saber que estas al pendiente de cada uno de nosotros como usuarios, te felicito.

Seguiré esperando alguna respuesta de alguien que se haya topado con el mismo problema que yo.

Gracias Dec y por supuesto, gracias pborges36

gabrio 02-10-2007 15:47:54

Fé de Erratas
 
Buenos días dec. Antes que nada, te pido una disculpa porque cuando escribí la palabra 'Error', no me refería a un error en específico, sino que delphi está haciendo lo que debe hacer y a mi no me sirve (que es abrirme la ventana hija en el MDI principal y no en el MDI secundario). En fin. El hecho de haber repetido el hilo, fué porque quería escribir mi pregunta de forma más clara y ya no pude modificar la anterior.

Aunque por lo visto, volví a confundir a la comunidad.

Como quiera, es bueno saber que estas al pendiente de cada uno de nosotros como usuarios, te felicito.

Seguiré esperando alguna respuesta de alguien que se haya topado con el mismo problema que yo.

Gracias Dec
pborges36


La franja horaria es GMT +2. Ahora son las 02:41:39.

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