Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Evento MDIform despues de cerrar un formulario MDChild (https://www.clubdelphi.com/foros/showthread.php?t=1026)

ing_alsaac 02-06-2003 07:53:48

Evento MDIform despues de cerrar un formulario MDChild
 
:confused:
Hola a todos:
El problema que tengo es el siguiente,
tengo un formulario MDI y quiero obtener un valor que venga
de un formulario MDIChild y lo ponga dentro de una variable
del formulario MDI, el problema esta en que no puedo referenciar
la unidad principal dentro del MDIChild porque marca error de redundancia, y se me ocurrio utilizar algun evento del formulario MDI hacer la asignacion pero lo mas cercano a lo que necesito es el OnPaint pero solo se activa cuando minimizo la pantalla lo cual resulta poco practico.
Hay alguna manera de regresar valores de una MDIChild a una MDI?
hay algun procedimiento que nos indique que se ha cerrado la forma MDIchild dentro del MDI para hacer la asignacion? algo asi como OncloseChild?
Ojala me hayan entendido y puedan ayudarme.
De antemano Gracias

__cadetill 02-06-2003 09:59:36

Hola ing_alsaac

Bueno, lo que yo hago cuando necesito hacer cosas por el estilo es, crearme una unit donde pongo un procedimiento o funcion segun necesite, declaro una variable global y hago referencia a esa variable desde el MDI y MDIChild mediante ese procedimiento o funcion.

Si por ejemplo, lo que necesitas es cambiar la propiedad o el estado de un componente del MDIForm (como por ejemplo la barra de estado), siempre puedes pasar por parametro el objeto al procedimiento o funcion anterior, o bien directamente al formulario MDIChild y modificar sus propiedades (que se veran reflejadas en el MDIForm) desde donde tu desees

Espero te sirva

roman 02-06-2003 16:27:30

Cita:

Posteado originalmente por ing_alsaac
...no puedo referenciar la unidad principal dentro del MDIChild porque marca error de redundancia...
Me parece que estás poniendo la referencia en la sección interface. Prueba ponerla en la sección implementation y no tendrás problemas.

// Saludos

Lepe 02-06-2003 17:35:20

que traduciendo lo que dice roman resulta.....

Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
Uses child;
{$R *.dfm}

end.

en el FRMMDI pones el uses child y en la ventana hija, en el mismo sitio, pones "Uses Mdi"


al cerrar la ventana hija....
Código:

procedure TForm2.ChildClose(Sender: TObject; var Action: TCloseAction);
begin
  frmmdi.mivariable:= mi valor;
  action := cafree;
end;



La franja horaria es GMT +2. Ahora son las 03:52:32.

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