Пытаюсь сделать форму, на которой будет отображаться обратный отсчет.
Заметил такую вещь, если нажать и удерживать кноку мыши на заголовке окна или же выбрать меню, но не выбрать подменю, то отображение времени на форме останавливается.
Я использую BlackBox 1.6

Вот код:
MODULE FormsTableOperators;

IMPORT
Dialog, Services, Strings, StdTables;

TYPE
TimeAction = POINTER TO RECORD (Services.Action)
start, step: LONGINT;
END;

VAR
data*: RECORD
t*: StdTables.Table;
END;
timer: TimeAction;


PROCEDURE (timer: TimeAction) Do;
VAR
left: LONGINT;
str: ARRAY 40 OF CHAR;
BEGIN
left := 1000 - timer.step;
Strings.IntToString(left, str);
data.t.SetItem(0, 0, "Ожидание (" + str + " секунд)");
Dialog.Update(data);
INC(timer.step);
Services.DoLater(timer, timer.start + timer.step * Services.resolution);
END Do;

PROCEDURE InitTimer;
BEGIN
(* Инициализируем таймер *)
NEW(timer);
timer.start := Services.Ticks();
timer.step := 0;
Services.DoLater(timer, Services.now);
END InitTimer;

BEGIN
data.t.SetSize(1,1);
InitTimer;
END FormsTableOperators.

Как можно обойти эту проблему, чтобы при нажатии на кнопку мыши или при других действиях время не останавливалось?