elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  callbacks dentro de clases
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: callbacks dentro de clases  (Leído 2,916 veces)
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
callbacks dentro de clases
« en: 10 Octubre 2011, 18:51 pm »

estuve trabajando con callbacks pero ahora estaba con otra api de windows que lleva callback (la api es SetTimer), y me lleva a la duda de si los callbacks pueden estar dentro de una clase, o si deben ser static, preguntas como esas...

por ejemplo en este codigo que ya lo compile pero todavia no me anda XD
http://www.codeproject.com/KB/cpp/SetTimer__non-static.aspx

entiendo que no puede usar el callback directamente como static, porque se necesitaria acceder a miembros de clase y si el callback es static no puede, entonces se crea una funcion de "envoltura" para que sea llamada como si fuera el callback y esta funcion llama internamiente al callback que es static. entonces asumo que si puede ir dentro de una clase pero haciendo este truco de disimular el static dentro de una funcion wrapper. y entonces porque es o debe ser static el callback final?







En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: callbacks dentro de clases
« Respuesta #1 en: 10 Octubre 2011, 19:41 pm »

No; el wrapper es static ...

 static VOID CALLBACK TimerProc_Wrapper( HWND hwnd, UINT uMsg,
                                  UINT idEvent, DWORD dwTime );

Lo que tiene que ser static es siempre la funcion que es llamada como callback.


« Última modificación: 10 Octubre 2011, 19:43 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: callbacks dentro de clases
« Respuesta #2 en: 10 Octubre 2011, 19:58 pm »

razon ?

ah y ya me adnubo este codigo eternal, sabes averigue que el settimer necesita un loop de mensajes de windows asi como en las aplicaciones graficas. pero porque debe ser static todos los callbacks, acaso hay algo del especificardor static que no sepa  :-\



En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: callbacks dentro de clases
« Respuesta #3 en: 10 Octubre 2011, 20:14 pm »

http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.2
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
dewolo

Desconectado Desconectado

Mensajes: 83


Ver Perfil
Re: callbacks dentro de clases
« Respuesta #4 en: 10 Octubre 2011, 20:17 pm »

claro o usas una global o usas dentro de la clase una static asi queda independiente del objeto..

y, en caso de necesitar algo de la clase, procedes a hacer el trucaso del link de codeproject que ya lo probe y me anduvo :xD

En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: callbacks dentro de clases
« Respuesta #5 en: 10 Octubre 2011, 20:28 pm »

En si es el mismo truco de siempre, ya sea que lo recibis como parametro al metodo o que guardas el objeto en algun lado (en un miembro estatico de la clase clomo aca, en una variable global, en un Tls, etc.) el chiste esta en usarlo en lugar de this.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Botón swf dentro de un asp hacia otro swf dentro de otro asp.
Diseño Gráfico
Drilling 6 4,709 Último mensaje 29 Diciembre 2004, 07:14 am
por Snoopyhack
Clases en VB
Programación Visual Basic
Kizar 0 1,223 Último mensaje 17 Marzo 2006, 16:56 pm
por Kizar
Ejemplo de infección mediante TLS Callbacks
Análisis y Diseño de Malware
The Swash 0 2,174 Último mensaje 16 Mayo 2011, 02:16 am
por The Swash
TLS: CallBacks
Programación C/C++
85 0 1,523 Último mensaje 16 Marzo 2013, 12:42 pm
por 85
TLS Callbacks en ejecutables unix ELF
Ingeniería Inversa
makitos666 5 4,809 Último mensaje 22 Marzo 2018, 17:12 pm
por makitos666
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines