Programación General > Visual C++
Fallo Al Crear Ventana
diego.martinez:
Buenas:
Pues eso, no entiendo que hago mal en este segmento de codigo.
La verdad es que esta cortapegado de otra aplicacion en la que si funciona, asi que mas que cual es el fallo en el codigo , la pregunta seria ¿que puede provocar que CreateWindowEx provoque excepcion asi?
El debug me da "Damage After Normal Block", supongo que es un puntero desviado?
appWINDOW::appWINDOW()
{
HINSTANCE hInstance = GetModuleHandle(NULL); // Grab An Instance For Our Window
//Step 1: Registering the Window Class
wc.cbSize = sizeof(WNDCLASSEX); //siempre es sizeof(wndclassex);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = "Prueba";
wc.hIconSm = NULL;
RegisterClassEx(&wc);
hWnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
"Prueba", //es el lpszClassName de la ClassEx registrada para que sepa como es el master
"Prueba de dialogos",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 600, 600,
NULL, NULL, hInstance, NULL); <------------------- Excepcion aqui
...
}
gracias de antemano.
diego.martinez:
He probado a cambiar todo el codigo por otro codigo verificado y sigue fallando.
Eternal Idol:
¿Da una excepcion? ¿Lo estas depurando? ¿Seguro que es en esa funcion? ¿Dentro de la funcion de Windows? ¿Justo antes? ¿Justo despues? Parece mas bien un mensaje relacionado con que pasaste los limites de algun array ... ¿Que hay en el desensamblador?
diego.martinez:
Disculpa no haber respondido antes, el fallo era mio
el wc era WNDCLASS y lo estaba usando como WNDCLASSEX
gracias igualmente
diego.martinez:
vaya, pues es un fallo raro:
el codigo, colocado en el main funciona correctamente, en una funcion tambien , pero falla si lo coloco en un metodo de una clase.
el Fallo es : Unhandled Exception in w.exe: 0xC0000005 Access Violation
y me manda a un punto sin codigo ensamblador con las tipicas "???" en la direccion 0 o sea que me manda a NULL , lo malo es que ese codigo funciona fuera del metodo y siempre que miro en Internet esta hecho igual.
:blink: me esta volviendo loco, acaso no se pueden crear ventanas en un metodo? no le encuentro el sentido.
ya siento la molestia, pero estoy desconcertado, por ahora lo metere en el main pero pretendia encapsularlo.
Navegación
[#] Página Siguiente
Ir a la versión completa