LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Временные конте...
 Временные контекстные меню
 
 17.07.2008 15:44:34
Lukas
7 сообщения


Временные контекстные меню

Вопрос:
Почему при создании временного контекстного меню в ACCESS средствами библиотеки MS Office 11.0 Object Library, после вызова контекстного меню методом ShowPopup:
1. Курсор вне области контекстного меню - загрузка процессора (AMD Athlon 64 X2 Dual Core 4200+) ~ 50%
2. Курсор в области контекстного меню - загрузка процессора  < 1%.

Другой код в это время не выполняется.

Создание и вызов контекстного меню выполняется в модуле класса.

 18.07.2008 15:09:46
Admin1
731 сообщения
1-ый


Re: Временные контекстные меню

Меню лучше создать 1 раз при загрузке программы у клиента и обязательно с диагностикой проверки его существования ( т.к. меню сохраняется в базе при ее закрытии). Далее, если оно не нужно, то выключать (не удалять) его элементы.  Вывод. Постоянные эксперименты с памятью приводят к неожиданным последствиям.

 18.07.2008 18:51:43
Lukas
7 сообщения


Re: Временные контекстные меню

Абсолютно верно.
Контекстные меню для форм и отчетов именно так и функционируют.
Я же решил попытаться расширить область применения контекстных меню, используя временные контекстные меню в качестве элементов управления в форме, для задания значений полей (например выбор даты в заданном диапазоне,  выбор значения из справочника). Можно конечно использовать и формы-календари, и формы-справочники, и списки и поля со списками, но хотелось внести некоторое разнообразие.

Создавать постоянные контекстные меню и каждый раз при вызове проверять их соответствие источнику данных, (ежедневно изменяемому восьмью пользователями), или заданному диапазону значений (в случае с датой -  ежедневно, в случае с временем и того чаще) с дальнейшей корректировкой, применением фильтров на отображаемые (доступные) значения, неверное не лучше, чем создать временное контекстные меню, использовать его и удалить, (хотя я не пробовал).

Из опыта реальной работы восьми пользователей различной подготовки в течении двух недель, жалоб на
неадекватное поведение приложения (клиент-mde, сервер-mdb) в этой части не последовало (не факт, что не было!), несмотря на применение в одной форме 12-ти временных контекстных меню, создаваемых по вызову и удаляемых сразу по применению.

Будем экспериментировать дальше, тем более что размер справочников может быть значительно больше количества комфортно воспринимаемых на экране элементов контекстного меню, не говоря уже о максимальном количестве элементов управления в контекстном меню, времени, затрачиваемом на его создание и др.

 19.07.2008 19:10:00
Admin1
731 сообщения
1-ый


Re: Временные контекстные меню

Есть еще непонятное ограничение на формы ( !!! речь идет о тех, которые открыты). Если их будет много, точнее около 20 (включая невидимые), то база данных может сваливаться из-за проблем с памятью или выдавать ошибки при открытии новых форм.

 23.05.2016 9:39:36
Vasilisa763
1 сообщения


Re: Временные контекстные меню
Спасибо Вам за ответ! Как раз то, что искала! Так трудно было найти...
  Программирование  Microsoft Access. Файлы mdb и accdb  Временные конте...
ПоискПоиск  Список форумовСписок форумов  
right