Hola Lenny.
Una forma puede ser:
MDIForm:
Código Delphi
[-]
...
type
TfrMDIForm = class(TForm)
...
public
CloseChild(AName: string);
end;
....
implementation
uses Unit2, Unit3;
procedure TfrMDIForm.CloseChild(AName: string);
var
i: Integer;
begin
for i:= MDIChildCount-1 downto 0 do
if MDIChildren[i].Name = AName then
MDIChildren[i].Close;
end;
...
MDIChild:
Código Delphi
[-]
...
implementation
uses Unit1;
...
procedure TfrMDIChild2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frMDIForm.CloseChild('frMDIChild1'); Action:= caFree;
end;
Saludos.