Pues el problema es que tengo una clase donde creo una ventana con :
Código C++:
Ver originalRegisterClassEx(&wincl)
hwnd = CreateWindowEx(...
esta ventana la quiero mostrar desde otra clase con
Código C++:
Ver originalint App::agregar(Ventana *ventana) {
this->hwnd = ventana->hwnd;
}
ShowWindow(hwnd, SW_SHOWDEFAULT);
La ventana se muestra pero es la ultima instruccion que se ejecuta antes de crashear
esta clase es la que procesa los mensajes
el problema es que cuando ejecuto el programa este crashea y no sé porqué, no hay errores en la compilación.
Se me ocurre que cuando creo la ventana esta no encuentra al WindowProcedure asociado a la hora de crear la estructura WNDCLASSEX, pero no estoy seguro.
Si alguien puede ayudarme se lo agradezco mucho.
EDIT: El error venía de un mensaje en
Código C++:
Ver originalcase WM_SIZE:
height = HIWORD(lParam);
width = LOWORD(lParam);
break;
Por alguna razón me tira el error en tiempo de ejecución, ya lo había hecho antes pero hoy me dió problemas por alguna razón.
el error es al intentar acceder a cualquier dato definido en la clase desde mi windowprocedure ..., para encontrar este error se me ocurrió que ShowWindow buscaba algun mensaje antes de mostrarse, como por ejemplo WM_CREATE, así que comenté todo el código de los mensajes y el programa se ejecutó sin problemas con el inconveniente de que no me permite usar más las variables de la clase , están definidas como public, ni siquiera puedo acceder al manejador de la ventana sin pasarselo por parámetro porque me tira el error.
Esto es comprensible si quiero acceder a las variables por el WindowsProcedure estático, pero este llama a otra función donde manejo los mensajes para poder acceder a la información de la clase, bueno, esto desde que me lanza el error en tiempo de ejecución.