Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cerrar Formularios hijos independientemente (https://www.clubdelphi.com/foros/showthread.php?t=56877)

morfeo21 29-05-2008 18:55:55

Cerrar Formularios hijos independientemente
 
DELPHI
!Urgente!,. Una consulta . como puedo cerrar independientemente formularios hijos .
He creado una aplicacion MDI y formularios hijos. el detalle esta en lo siguiente:
- De los formularios hijos he generado reportes(QuickReport) con la misma caracteristica fsMDIChild
Es decir ; del primer formulario hijo lanzo la generacion de un reporte bazado en parametros:
Meses : uno del mes de Enero otro del mes de Febrero y asi sucesivamente.
- Ahora yo puedo minimizar estos reportes dentro de mi aplicacion .
pero quisiera que al momento de cerrar el primer formulario que genero los reportes , se cerracen primero
los reportes hijos.
- Ahora quisiera hacer esto sin que se cierre los demas formularios hijos que tenga abiertos sus propios reportes.

he estado intentado hacer esto; pero al dar cerrar . se cierran todos los formularios que esten abiertos.
el codigo que he empleado es este

procedure TfrmTgen622u.BitBtn2Click(Sender: TObject);
var
i : Integer;
begin
for I := 0 to Application.MainForm.MDIChildCount - 1 do
Application.MainForm.MDIChildren[i].release;
end;

Hay alguna manera de saber cuales son solo los reportes que pertenecen a quien los genero?

roman 29-05-2008 19:13:27

Al crear un reporte hazlo así:

Código Delphi [-]
// Crear reporte
TfrmReporteA.Create(Self);

Al pasarle Self como parámetro al constructor del reporte, te aseguras que al destruir el formulario que los creo, también se destruyen los formularios que creó.

// Saludos

morfeo21 29-05-2008 20:27:44

continuo con el problema
 
No puedo hacer lo que tu me indicas
pues el QuickReport ya lo tengo creado visualmente y diseñado
yo solo lo invoco asi

procedure TfrmTgen622u.btnImprimirClick(Sender: TObject);
begin
if SetDataReporte() then
qrpTipoCambio.Preview
else
ShowMessage('No existe informacion a mostrar');
end;


La franja horaria es GMT +2. Ahora son las 03:01:24.

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