Código:
/*
Clase Contador por WDR
UTN
*/
class Contador
{
public:
Contador()
{
terminado=false;
}
static void EnTiempo(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc)
{
//terminado=true;
cout << "TEST: callback llamada" << endl;
}
void Temporizador(void)
{
SetTimer(NULL,1,milisegundos, (TIMERPROC) Contador::EnTiempo);
}
void setMilisegundos(int ms)
{
milisegundos=ms;
}
void setSegundos(int s)
{
milisegundos=(s*1000);
}
bool Finalizado()
{
return terminado;
}
private:
bool terminado;
int milisegundos;
};
Código:
int main()
{
Contador c;
c.setSegundos(30);
c.Temporizador();
system("PAUSE");
return 0;
}
Esto compila pero no anda, como se ve al terminar el tiempo deberia llamar a esa funcion de callback que es metodo de la clase. notese que tube que poner un cout para saber si era llamada la callback, pero para que compile tube que ponerla static. yo en verdad lo que quiero no es poner un cout sino que cambie el valor del flag "terminado". Aparte de eso ni siquiera anda. Agradezco la ayuda