Ver Mensaje Individual
  #2  
Antiguo 17-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
El problema no es con la función GetTickCount, que tiene sus manías pero esta no es una de ellas. Lo que pasa es que la utilizas dentro de un bucle, si no haces algún tipo de espera dentro del bucle este termina usando la CPU al 100%. Una solución sencilla es hacer una pequeña espera dentro del bucle.

Código Delphi [-]
 StartTick := GetTickCount;
 //Si el bucle continua...
 While Running Do
  Begin
   //...si ha trasncurrido un segundo
   If (GetTickCount - StartTick) > 1000 Then
    Begin
     //...actualizar etiqueta
     FormPrincipal.LabelDelphi.Visible := not FormPrincipal.LabelDelphi.Visible;
     //Reinicializar hora de inicio para siguiente iteracion
     StartTick := GetTickCount;
    End;
   // Necesario para que el bucle no "bloquee" la maquina
   Application.ProcessMessages; 
   Sleep(100); // Aqui le damos tiempo a la CPU para respirar
  End;
Responder Con Cita