Javier,

 

El enfoque que implementaste es correcto, si el SDK no ofrece un evento de
Windows, vos te estás generando tu propio evento a través del timer y desde
el punto de vista de sortear el obstáculo parece válido.

 

Recuerdo que Visual Studio para VB6.0 tenía una funcionalidad Watch en modo
DEBUG, donde se podía establecer un punto de interrupción cuando una
variable especificada cambie su valor. Pero esa misma funcionalidad de Watch
no la pudieron migrar al Visual Studio para .Net Framework. Por lo que
supongo que detectar instantáneamente el cambio de un valor en una variable
no es algo tan simple si el desarrollador no pretende que la observes y por
eso no provee un evento en consecuencia. 

 

Yendo al sistema operativo (más bajo nivel del que conozco), alguna vez
alguien me explicó (para una vieja versión de Windows) que el sistema
operativo mantiene una pila de las funciones callback registradas para
lanzar los eventos y que Windows internamente revisa periódicamente (Timer)
si debe avisar a cada pila de funciones registradas sobre la ocurrencia de
un evento. Es decir que con un Timer lo estarías haciendo del mismo modo.

 

Cristian.

 

De: [email protected] [mailto:[email protected]] En nombre de Javier
Osvaldo Chércoles
Enviado el: miércoles, 13 de noviembre de 2013 11:59
Para: [email protected]
Asunto: [puntonet] RE: [puntonet] Re: [puntonet] OT: Capturar eventos de una
aplicación de C++ o C#

 

Estimado Alberto, te cuento estoy programando funcionalidades en un
simulador de vuelo a través de plugins que no permiten realizar acciones de
manera asincronica, al momento del cambio de una variable, llamada Datarefs,
es decir, cuando subís el tren de aterrizaje, cambia un dataref, pero hoy
para poder saber si cambio esa variable tengo que ejecutar un timer, ya que
el simulador a través de su SDK, que es desarrollado por terceros, y a los
cuales ya les consulte, no le informa al plugin. Pensé que tal vez se podría
tratando el ejecutable del simulador, porque lo he hecho con otros objetos
COM, realizar algo similar, de ver si se produce de alguna manera un evento
y tomarlo para realizar una acción que deriva en encender una luz.

De hecho, cuando quiero debuguear el plugin escrito en Visual C++, asocio el
proceso del Simulador en ejecución y cada ves que se ejecuta el timer puedo
depurar mi codigo.

 

Espero haber sido mas claro y desde ya muchas gracias.

 

Javier. 

> Date: Tue, 12 Nov 2013 12:25:30 -0800
> From: [email protected] <mailto:[email protected]> 
> Subject: [puntonet] Re: [puntonet] OT: Capturar eventos de una aplicación
de C++ o C#
> To: [email protected] <mailto:[email protected]> 
> 
> Javier
> los ejemplos que das no ayudan mucho a entender lo que necesitas hacer ...
> si nos contas especificamente el escenario que necesitas resolver sin
ejemplos ni ambiguedades,
> seria muy orientador ...
> 
> Atte
> 
> AP
> 
> --------------------------------------------
> El mar 12-nov-13, Javier Osvaldo Chércoles <[email protected]
<mailto:[email protected]> > escribió:
> 
> Asunto: [puntonet] OT: Capturar eventos de una aplicación de C++ o C#
> Para: [email protected] <mailto:[email protected]> 
> Fecha: martes, 12 de noviembre de 2013, 9:38
> 
> 
> 
> 
> Buen día muchachos, disculpen la
> molestia antes que nada. Estoy necesitando hacer una
> aplicación, que me permita tomar una decisión cuando otra
> aplicación realiza una determina acción o evento. Es
> decir, si cambia una variable debería poder detectarlo, o
> si lo trasladamos algo puntual, supongamos el caso de un
> juego, donde un individuo corre, que cuando este pare, poder
> capturarlo, es un ejemplo grosero, pero es la idea.
> Saludos cordiales.
> Javier. 
> 
> 

Responder a