пока процедура таймера не отработает - повторно она же не вызовется
Это я знаю. Повторно ее вызывать и не нужно. Архитектура программы построена таким образом, что таймер только добавляет задание в очередь. А обработкой этой очереди занимается другая процедура.
Так вот я и боюсь если обработка очереди затянется, то таймер всё равно будет крутится или тоже остановится пока не обработается очередь??
Всё крутится примерно так
- Код: Выделить всё
Private colQueue As New Collection1
Private IsQueue As Boolean 'Когда происходит обработка очереди IsQueue=True
Private Sub Timer1_Timer()
i = i + 1
colQueue.Add CStr(i)
'Если обработка очереди не происходит и есть новые задания в очереди, то обработать очередь
If IsQueue = False And Not colQueue Is Nothing Then Debug.Print "Calling": Call UpdateQueue
End Sub
Private Sub UpdateQueue()
Dim clsTask As Class1
IsQueue = True
For Each clsTask In colQueue
'.
'. обработка очереди
'.
Next
Set colQueue = Nothing
IsQueue = False
End Sub