Visual Basic |
---|
Public Event MessagesReceived( _ ByVal pMessages As TDMSMessages, _ ByRef bCancel As Boolean _ ) |
- pMessages
- Коллекция новых сообщений, если они есть.
- bCancel
- TRUE отменяет получение новых сообщений.
1. Событие является отменяемым: если параметру bCancel присвоено значение TRUE, новые сообщения не будут получены (иначе говоря, будут потеряны).
2. Событие наступает перед тем, как на экран будет выведено системное сообщение о получении новой почты (если она была). Таким образом, если в обработчике определена отмена события (bCancel = TRUE), то новые сообщения будут потеряны и, соответственно, системное сообщение о новой почте показано не будет.
3. Событие нельзя вызвать программно: в API TDMS нет метода для получения новых сообщений.
4. Событие генерируется:
- при выполнении команды "Отправить/Получить почту";
- каждые 10 минут с момента генерации последнего сообщения Messages_ Received (выполняется проверка почты);
- при переключении фокуса на папку Входящие. Замечание: если в момент выполнения команды Отправить/Получить почту на Панели состава отображалось что-либо кроме ящика Входящие, то сообщение генерируется дважды: первый раз – в момент выполнения команды, второй раз – при показе содержимого Входящих на Панели состава (фокус переводится автоматически);
- при проверке почты в момент входа в систему. Таким образом, если на момент входа в ящике есть новые сообщения, то событие Messages_ Received может генерироваться дважды:
- в момент входа – в параметре MessagesCol передается коллекция новых сообщений;
- если в момент последнего выхода пользователя фокус был установлен на ящике Входящие, то теперь на Панели состава будет открыто его содержание и, как следствие, опять генерируется событие Messages_ Received. Параметр MessagesCol в данный момент уже не содержит ничего.
5. Обработчик может быть размещен в скрипте профиля и/или общесистемном (см. рисунок). Если обработчики определены на обоих уровнях, то:
- в первую очередь событие обрабатывается в скрипте профиля пользователя, затем в общесистемном;
- если на уровне профиля событие было отменено (параметру bCancel присвоено значение TRUE), то обработчик события, размещенный в общесистемном скрипте, вызван не будет.
6. Схему последовательности генерации событий в момент запуска приложения см. на рисунке.