Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - d2011hacker

#1
esta clase la hice para unas tareas redundantes para una presentasion, necesitaba un contador. el tema es que al principio no se puede compilar el codigo, pero despues compila pero no funciona. mi clase contador se sentra en la funcion SetTimer de windows. pongo todo el codigo, quisiera que me ayuden a modificarla para que ande correctamente.



/*
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;
};



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