Título: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: x64core en 18 Abril 2012, 01:42 am hola gente, bueno hice este codigo y trabaja exactamente como yo quiero que haga, el problema es que
la CPU se sobrecarga, llega al 50% cuando posiciono el cursor sobre un control creado y no encuentro del PORQUE lo hace : P por favor ayuda! ya revise la documentacion y devuelvo los valores que pide : P depurara el programa si supiera que hay un error pero el programa no se cuelga ni nada, al parece esta mal estructurado , gracias! Código
Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: _Enko en 21 Abril 2012, 15:51 pm Citar .else No estoy seguro, pero ahi por lo visto llamas al WndProc de mysubclass, cuando ya estas dentro del wndProc de mysubclass.invoke CallWindowProc,mysubclass,hWnd,uMsg,wParam,lParam ret .endif xor eax,eax ret myWNDPROC endp Es decir, RECURSIVIDAD. Luego creas una Ventana de la clase mysubclass que jamas registras antes. Creo que estas confundiendo dos conceptos, SUPERCLASING y SUBCLASING aunque en realidad no necesitas de ninguno de los dos. Código: invoke SetWindowLong,hstatic,GWL_WNDPROC,myWNDPROC Si estas tratando de crear "componentes" personalizados como por ejemplo un selector de colores, te conviene empezar con una clase desde cero. Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: x64core en 21 Abril 2012, 18:14 pm bueno laverdad e probado de todo :P
usando DefWindowProc, CallwindowProc, diferentes resultados en EAX, y nada lo curioso en que solo cuando llamo a ShoWindow sucede eso, si te fijas Enko si borras la linea de ShowWindow el programa corre normal : P estuve como 2 dias enteros probando de todo :S Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: _Enko en 21 Abril 2012, 18:29 pm http://win32assembly.online.fr/tut20.html
Fijate como se hace el subclassing, lo estas haciendo mal. Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: x64core en 21 Abril 2012, 19:09 pm me parece que ya lo habia hecho, y no funciono, y lo e vuelto a hacer y no funciona :@
siempre se sobre carga la CPU Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: $Edu$ en 21 Abril 2012, 23:40 pm Hablo casi sin saber, pero.. porque no debuggeas para ver si no se convierte en Recursividad como dice _Enko? ahi le encontraras el fallo, tal vez no donde dice _Enko, pero tal vez en otro lado. Debuggeando le encontras la solucion facil, no es mucho codigo.
Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: x64core en 21 Abril 2012, 23:48 pm Hablo casi sin saber, pero.. porque no debuggeas para ver si no se convierte en Recursividad como dice _Enko? ahi le encontraras el fallo, tal vez no donde dice _Enko, pero tal vez en otro lado. Debuggeando le encontras la solucion facil, no es mucho codigo. no puede ser porque si elimino la linea de ShowWindow como e dicho el código funciona correctamente, seguramente hay algo malo con los dos ShowWindow :P Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: _Enko en 21 Abril 2012, 23:51 pm Tambien esta mal que no llames los WindowProc originales de las ventanas si haces subclassing.
Lee el ejemplo de subclasing de iczelion, intenta reproducirlo, luego aplicalo a tu problema. Si haces un componente nuevo, tienes que registrar la clase. Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: x64core en 22 Abril 2012, 00:17 am Enko me e leido todos los tutos de iczelion : P
de hecho hasta los codigos de la MSDN esta así muestra como un subclassing http://msdn.microsoft.com/en-us/library/windows/desktop/ms633570(v=vs.85).aspx Un amigo logro resolver en problema pero usaba una y mil APIs : P bueno no es eso en si, a mi lo que no llego a aceptar es porque no funciona como los demas, de hecho si quiero capturar botones, estatico, listview, etc me funciona correctamente Título: Re: Sobre carga de la CPU, valor incorrecto en EAX? Publicado por: _Enko en 23 Abril 2012, 05:45 am citas MSDN, pero lo que estas citando es registro de clases nuevas con su windproc propio.
En tu ejemplo solo registras un componente, la ventana principal. Insisto, no confundas clase de ventana nueva, con un subclassing. |