Отвечаю по пунктам:
sedmin писал(а) 26. Сентября 2007 :: 18:57:1) А каково будет время жизни этого объекта? Где надо будет хранить таймер, чтобы он вызывал ОбработчикВМодулеФормы?
1) Время жизни объекта произвольное, как определит пользователь класса, т.е. наиболее гибкое поведение.
По поводу работы с формой то же самое.
В дальнейшем можно сделать один из вариантов или их объединение
а) таймер, который работает с формой, перестает быть валидным, когда форма закрывается. Т.е. абсолютна та же схема, что и для значения контекста формы (пока форма открыта, его тип 100, как закрыта, тип = 0)
Соответственно пользователю подобного таймера нужно будет проверять его тип значения.
Для других видов таймеров такой проблемы нет.
б) Также можно добавить указанный таймер как элемент Формы - т.е. добавить спец. контекст к групповому контексту формы и обращаться к нему через Форма.НужныйТаймер.
Как реализовать подобную схему, мне понятно, осталось дело за реализацией.
ЗЫ кстати, подобная привязка к форме мной планируется для добавляемых на форму атрибутов
sedmin писал(а) 26. Сентября 2007 :: 18:57:2) Нет, я, в принципе, понимаю, что хранить его можно будет где угодно. Но где реально вы предполагаете его хранить? А помните про проблемы, связанные с разрушением объектов формы?
См. п.1
А проблемы, связанные с разрушением объектов формы, легко решаются с помощью придуманного нами смарт-пойнтера CSafeContextPtr - примеры использования есть в коде 1С++
sedmin писал(а) 26. Сентября 2007 :: 18:57:3) Опять же, это будет настоящий таймер, или таймер обработки ожидания? Если я заведу его на 10 мсек и запущу обработку на 10 минут, то таймер сработает?
Что значит "настоящий таймер"? тот, который работает независимо от работы, выполняемой приложением, называется Поток, и мы от его использования отказались
А остальные таймеры в однопоточном приложении зависят от того, обрабатывает ли приложение сообщения Винды или оно загружено непрерывной работой.Так что все ограничения подобных таймеров остаются
- т.е. если 1С выполняет какой-то код, то событие таймера сгенерится только после завершения кода.
Для некоторого обхода подобных ограничений я планирую добавить в ФормЕкс некий метод, который заставит 1С обработать очередь сообщений винды. В итоге пользователь сможет вызывать этот метод для обработки каких-то нужных сообщений - например, удобно использовать для отрисовки прогресс-бара во время длительной работы 1С или еще чего