Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2018
_CALI _CALI is offline
Miembro
 
Registrado: mar 2008
Posts: 99
Poder: 17
_CALI Va por buen camino
Form dentro Panel MDI aplicacion

Buenas Noches,

tengo una aplicacion MDI

en el area cliente del formulario principal tengo un panel

muestro un formulario hijo dentro del panel con la siguiente instruccion:

Código Delphi [-]
 FormHijo := TFormHijo.Create(Application);
 winapi.Windows.SetParent(FormHijo.Handle, panel1.Handle);

todo bien, pero cuando cierro el formulario hijo me aparece un error:


Access Violation at Address 73c603e4 in module user32.dll
Read of Address 00000047


el evento Onclose del formulario hijo tengo:


Código Delphi [-]
procedure TFormHijo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;


como pordria solucionarlo, debo recurrir a setParent de la API, porque el metodo de delphi no me permite crear formularios dentro de
paneles en aplicaciones MDI

Gracias Nuevamente!!
Responder Con Cita
  #2  
Antiguo 28-04-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por _CALI Ver Mensaje
...
todo bien, pero cuando cierro el formulario hijo me aparece un error:

Access Violation at Address 73c603e4 in module user32.dll
Read of Address 00000047

el evento Onclose del formulario hijo tengo:

Código Delphi [-]
procedure TFormHijo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;
...
Trata de este modo:
Código Delphi [-]
...
procedure TFormHijo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WinApi.Windows.SetParent(Handle, 0); 
  Action := caFree;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-04-2018
_CALI _CALI is offline
Miembro
 
Registrado: mar 2008
Posts: 99
Poder: 17
_CALI Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Trata de este modo:
Código Delphi [-]
...
procedure TFormHijo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WinApi.Windows.SetParent(Handle, 0); 
  Action := caFree;
end;

Saludos
Excelente, Muchas Gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación dentro de una form gaunmanuel API de Windows 6 25-05-2016 18:46:24
Insertar un Panel dentro de otro panel edgwin OOP 3 22-11-2008 17:22:16
Ejecutar aplicación dentro de un Panel aeff API de Windows 5 08-10-2008 20:47:01
Crear un Objeto dentro de un Panel sancarlos OOP 24 21-07-2008 14:59:51
Crear un label dentro de un panel abogado Varios 1 28-03-2005 13:43:16


La franja horaria es GMT +2. Ahora son las 19:25:14.


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
Copyright 1996-2007 Club Delphi