Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


Советы

Главная   Библиотека   Советы

Не используйте NotesUIWorkspace.CurrentDocument в событиях формы

Вопрос
Свойство CurrentDocument возвращает документ, ассоциированный с окном, в котором находится фокус. Для событий формы, таких как Postopen и Queryclose, окно с фокусом необязательно то же самое, в котором должно обрабатываться событие.Это, главным образом, важно, когда форма используется в композитных приложениях, фреймсетах или встроенном редакторе. Например, во фреймсете открывается несколько документов в разных фреймах. Только один из документов может быть "текущим" документом, в остальных фреймах свойство CurrentDocument вернёт значение Nothing.
Примечание: Поскольку событие Click действия или кнопки, событие onFocus поля, и сходные функции, требуют, чтобы документ получил фокус перед их обработкой, в этом контексте безопасно использование NotesUIWorkspace.CurrentDocument.
Ответ
Аргумент Source As NotesUIDocument, передаваемый во все события формы, всегда содержит объект документа, ассоциированный с исполняемым кодом. Используйте его вместо свойства CurrentDocument.
Даже если аргумент Source имеет то же значение, что и CurrentDocument во время тестирования вашего приложения, это не означает, что подобное будет всегда. Вы не можете предвидеть, когда разработанная вами форма будет использована, к примеру, в композитном приложении, вместо того, чтобы открываться как обычно из представления. Опытный разработчик имеет обыкновение использовать приёмы, которые работают всегда, чем техники, которые работают только в определённых условиях.
Описанное поведение свойства CurrentDocument не является дефектом. Иногда исполняемый код размещается не в текущем документе (не в том документе, где в данный момент размещён фокус), для примера, при использовании события NotesTimer. Сравнив CurrentDocument с объектом NotesUIDocument, переданным в код обработчика события в параметре Source, вы можете учесть, выполняется ли код в текущем окне
 
  Опубликовано — 10/22/2009 |    Источник: IBM Support

VladSh, 22.10.2009 17:59:54:
Заметили это где-то в году эдак в 2003-м - с этим были связаны и "красные малевичи"...
На Form (Global) подключаем либу, в которой есть основные глобальные переменные от NUIWS, на PO вызываем функцию и передаём туда Source, NUID_Current и ND_Current берём и используем из переданного Source, они доступны со всех кнопок/действий формы. Исключение - NotesUIWorkspace.CurrentDocument приходится использовать для агентов, вызываемых для текущего документа :(
Одно ограничение - нельзя делать Delete объекту текущей БД, иначе Source потеряется и восстановить его уже будет невозможно.
А вообще всё работает чётко!



Добавить комментарий
Имя * :
e-mail
Комментарий * :
Код подтверждения * :


Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU