Título: [Duda] CallBack Publicado por: BlackZeroX en 15 Enero 2011, 01:43 am .
Puedo redirigir un proceso por medio de funciones normales, pero lo que realmente quiero es redirrecionar a un miembro (una funcion) dentro de la clase, pero me marca error. Como se puede hacer un CallBack a un miembro( Funcion ) de una clase?. Código
Dulces Lunas!¡. . Título: Re: [Duda] CallBack Publicado por: Eternal Idol en 16 Enero 2011, 21:08 pm Tiene que ser un metodo estatico debido a la convencion de llamada.
http://foro.elhacker.net/programacion_cc/iquestcomo_accedo_a_this_desde_una_funcion_callback-t285522.0.html Título: Re: [Duda] CallBack Publicado por: BlackZeroX en 17 Enero 2011, 08:26 am .
Es similar pero no me da solución, ya que no le puedo pasar cualquier cosa a este redirrecionamiento que busco es solo cambiar el CallWindowProc de una ventana creada con CreateWindowsEX. a un miembro (funcion) de una clase siendo la misma clase en su constructor cuando se creo la ventana y despues como ya dije redirrecionar los mensajes entrantes de esta ventana a el miembro de la funcion en cuention. CreateWindowEx + SetWindowLong + GWL_WNDPROC Código
Este es el proceso... que resive los mensajes. Código
P.D.: Usare una solucion cutre haber que tal me va. Dulces Lunas!¡. . Título: Re: [Duda] CallBack Publicado por: Eternal Idol en 17 Enero 2011, 09:08 am No se puede usar un metodo comun, tiene que ser estatico por la convencion de llamada, CALLBACK es un alias de __stdcall y esta convencion no pasa el puntero this. Podrias GWL_USERDATA para escribir y leer el puntero al objeto ...
Título: Re: [Duda] CallBack Publicado por: BlackZeroX en 17 Enero 2011, 10:06 am .
Esto ya esta solucionado con GWL_WNDPROC+GWL_USERDATA me las apañare perfectamente inclusive quitare ese feo vector con ese feo For. Dulces Lunas!¡. Título: Re: [Duda] CallBack Publicado por: Eternal Idol en 17 Enero 2011, 11:03 am De nada.
Título: Re: [Duda] CallBack Publicado por: ThunderCls en 17 Enero 2011, 17:49 pm . Esto ya esta solucionado con GWL_WNDPROC+GWL_USERDATA me las apañare perfectamente inclusive quitare ese feo vector con ese feo For. Dulces Lunas!¡. Hola BlackZeroX▓▓▒▒░░, hace un tiempo tuve el mismo problema y busque en cada rincon y en cada foro que pude, pero las soluciones que encontre no me sirvieron, al final deje a un lado lo que intentaba hacer por si me surgia alguna solucion. Por lo que leo, al final sabes como lograrlo. Podias exponer el metodo que usastes en algo de codigo y asi ver si asi saco esta espina que tengo :( Saludos y gracias de antemano ;) Título: Re: [Duda] CallBack Publicado por: Eternal Idol en 17 Enero 2011, 17:57 pm ¿Te referis a esto?
https://foro.elhacker.net/programacion_cc/c_ayuda_con_esta_clase-t311243.0.html La solucion es la misma que te dieron en ese hilo, si queres usar la clase entonces el metodo tiene que ser estatico (como dije en este mismo hilo para pasar el puntero this podes usar GWL_USERDATA). Lee todo con atencion, incluidos los enlaces e hilos relacionados. Título: Re: [Duda] CallBack Publicado por: ThunderCls en 17 Enero 2011, 18:22 pm ¿Te referis a esto? https://foro.elhacker.net/programacion_cc/c_ayuda_con_esta_clase-t311243.0.html La solucion es la misma que te dieron en ese hilo, si queres usar la clase entonces el metodo tiene que ser estatico (como dije en este mismo hilo para pasar el puntero this podes usar GWL_USERDATA). Lee todo con atencion, incluidos los enlaces e hilos relacionados. Eternal Idol, recuerdo haber leido la respuesta de Littlehorse, pero al final me parece que no pude lograr hacerlo como queria, igual deberia seguir intentandolo y leyendo, aunque bueno...un pedacito de codigo sencillo como el ejemplo que puse en ese hilo, pero funcional, no me vendria mal, por eso le pedi algun ejemplo a BlackZeroX▓▓▒▒░░ que al parecer lo consiguio en su codigo. De todas formas gracias por responder ;-) Saludos Título: Re: [Duda] CallBack Publicado por: Eternal Idol en 17 Enero 2011, 18:43 pm En los enlaces hay varios ejemplos. Lo unico que tenes que hacer es declarar el metodo como estatico, llamar a Set/GetWindowLong con GWL_USERDATA y hacer algun casting.
Título: Re: [Duda] CallBack Publicado por: BlackZeroX en 17 Enero 2011, 20:08 pm .
Te dejo esto el proceso WndProc aun no lo pongo como miembro de la clase aun que sera facil tal cual a dicho Eternal Idol haciendo dicha funcion como Static ( yo mientras trabajare de esta manera para depurar mi codigo ). Código
Temibles Lunas!¡. . Título: Re: [Duda] CallBack Publicado por: ThunderCls en 17 Enero 2011, 21:05 pm Gracias Black, vere que hago con esta info ;-)
Saludos |