Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Error al cerrar MDIChild

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Error al cerrar MDIChild Responder citando

Hola a todos:

Acabo de leer todos los mensajes relacionados a MDIChild en este foro y sigo teniendo errores, el problema es el siguiente:

Estoy usando C++ Builder 5.0 en Windows 2000

Estoy usando un MDIForm y un MDIChild, en tiempo de ejecución creo la forma hija (sin problemas). Si a la forma hija le doy click en el boton cerrar [X], se cierra y destruye, ya que tengo la instrucción:

Código:
Action = caFree;


...en el evento onClose de la forma hija (hasta ahi todo bien).
...el gran problema viene cuando trato de cerrar a la hija desde el MDIForm (la forma padre). Me sale este error:

Cita:
Access violation at address 40056CB1 in module 'VCL50.BPL'. Read of address 000002CC.


...al darle aceptar al boton del mensaje de error, me manda:

Código:

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->Run();
        }                                               // <---------------*****AQUI*****
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        return 0;
}


No sé que pueda ser, ya que he intentado con varias formas que han explicado aquí y el error se resiste.

Espero haber sido explícito, gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Y incluiste el .h la forma hija en la "madre"?
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Re: Error al cerrar MDIChild Responder citando

si, ya inclui el .h y nada Crying or Very sad
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

HOLA:

Tiene pinta de que no llamas correctamente al constructor, ten encuenta que en una aplicacion madre / hija (Mdi) los formularios actuan como punteros libres, es decir estan cargados en memoria hasta que se auto destruyen
Tu constructor (llamada a la ventana hija) deberia ser mas o menos asi

TFormHija *a = new TFormHija(this);
a ->Show();

En su destructor como lo tiene.

Y en el destructor de la ventana madre

for (int N = 0; N < MDIChildCount; N++)
MDIChildren[0]->Close();

Por si queda alguna ventana abierta.

No te olvides que los formularios hijos debe de crearse en tiempo de ejecucion.

By.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.