procedure Pause(ms: Cardinal); // (c) 2002, Michael Winter var Stop: Cardinal; Timer: Cardinal; begin Timer := SetTimer(0, 0, ms, nil); Stop := GetTickCount + ms; repeat Application.HandleMessage; until Application.Terminated or (Integer(GetTickCount - Stop) >= 0); KillTimer(0, Timer); end;