Transaq
СБО "Transaq" => Подсистема ATF => Topic started by: White Noise on Апреля 09, 2014, 01:35:46 pm
-
Heller, пожалуйста верните возможность таймера - работать по заявленному хотя бы 100 млсек. Похоже на новых версиях (у меня 5.08.336.18 rev 55 ATF 1.20) вы помнится над удалением мусора работали,....может и таймер чуток "подзадели" ....
В общем сейчас не меньше секунды = 1000 млс. работает, даже если принудительно ставишь положенные 100.
Как быть ?
-
Добавлю своих 5 копеек по таймеру.
версия 5.08.336.01 rev 55 ATF 1.20
Пример из http://www.transaq.ru/dokuwiki/atf:время?s[]=timer
+Немного доработанный.
Таймер отрабатывает всего один раз.
static count = 0;
static timerID = 0;
function f()
{
count += 1;
if (count == 5) {
delTimer(timerID);
}
else //<- Добавил я
{ //<- Добавил я
signal::output("Timer"); //<- Добавил я
} //<- Добавил я
}
function init()
{
timerID = setTimer("f", 6000, TIMER_PERIODICALLY); //Изменил 60000 на 6000
}
-
Whine Noise, ваша проблема пока не ясна, воспроизвести её у нас не удаётся.
REboev, функция вызывается на самом деле нужное количество раз, просто у вас используется signal::output и именно она работает единожды. Используйте функцию signal::outputMultiple.
-
Heller, я думаю вы поняли меня про что я. А именно, данный пример должен выдавать ровно десять (10) сообщений в окно ATF в одну секунду, согласны ?
//------------------------------------------------------------------------------------------------------------------------------------------------
static timer;
function f() { signal::outputMultiple( " Не маловато-ли один раз в секунду при поставленных 100 млс.... "); }
function init(){timer = setTimer("f", 100, TIMER_PERIODICALLY); }
//------------------------------------------------------------------------------------------------------------------------------------------------
-
Ошибка найдена, правлю.
-
REboev, функция вызывается на самом деле нужное количество раз, просто у вас используется signal::output и именно она работает единожды. Используйте функцию signal::outputMultiple.
Спасибо Heller