Как узнать время срабатывания запущенных таймеров программно?
Например, надо, чтобы отрабатывали процедуры через какое-то вычисляемое время, но при этом алгоритм работы какой-то функции в главной программе зависел от того, отработала фоновая задача или нет. Например: ожидание окончания фоновых цепочек.
Вариант первый: по глобальным переменным/семафорам (см.пример)
Но можно ли узнать это путем опроса объектов Excel типа Application чтобы возвращался какой-то массив/коллекция записей с временами срабатывания таймеров и имена процедур?
Доброго времени суток
Excel 2010
Задался вопросом многопоточности в Excel
Как узнать время срабатывания запущенных таймеров программно?
Например, надо, чтобы отрабатывали процедуры через какое-то вычисляемое время, но при этом алгоритм работы какой-то функции в главной программе зависел от того, отработала фоновая задача или нет. Например: ожидание окончания фоновых цепочек.
Вариант первый: по глобальным переменным/семафорам (см.пример)
Но можно ли узнать это путем опроса объектов Excel типа Application чтобы возвращался какой-то массив/коллекция записей с временами срабатывания таймеров и имена процедур?pa_mfc
На сколько я знаю, многопоточность Excel не поддерживает. Можно конечно попробовать извратиться и написать класc с поддержкой многопоточности через API но это не так просто. Таймеры Excel - это "вещь в себе" и как я понимаю это простое использование таймеров API реализованное в недрах Excel. Я думаю, там не ведется ни каких коллекций таймеров - им это не надо. А для решения Вашей задачи, проще написать класс или делать как вы правильно сказали все через глобальные переменные или через специальный лист (как у вас в примере) у будет Вам счастье. Если я не прав, или заблуждаюсь, меня поправят старшие люди...
На сколько я знаю, многопоточность Excel не поддерживает. Можно конечно попробовать извратиться и написать класc с поддержкой многопоточности через API но это не так просто. Таймеры Excel - это "вещь в себе" и как я понимаю это простое использование таймеров API реализованное в недрах Excel. Я думаю, там не ведется ни каких коллекций таймеров - им это не надо. А для решения Вашей задачи, проще написать класс или делать как вы правильно сказали все через глобальные переменные или через специальный лист (как у вас в примере) у будет Вам счастье. Если я не прав, или заблуждаюсь, меня поправят старшие люди...Ферхо