|
|
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
В общем делаю себе динамическое меню ... но хотелосб бы узнать, как проверять открыто оно или нет ... и если да то удалять ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 01:22:00 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
В каком смысле "открыто или нет"? Меню какого типа: как стандартное вверху или контекстное? по-подробнее опиши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 06:42:11 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:12:01 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
А не грубовато ли это - поминать имя ... сорри, "дергать" Error? У меня для таких дел прикопана специальная функция-утилитка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:34:39 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Подробнее У меня открываются разные - верхние меню (сделаные мною программно) - в зависимости от того, какой пользователь вошел в систему. Вот и хочу сделать так, что при смене юзера (это дело у меня уже сделано), я программа удаляла все меню сделанные предыдущим и строила новое в зависимости от прав юзера ... Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:46:08 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Ну так имена известны? - Какие проблемы удалять. 2 Иван FXS Уважаемый - перебор элементов по коллекции не есть быстрое решение:) Слышали про конструкцию try catch что-нибудь?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:47:57 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Через Error я сделал ... но как-то грубовато получается вот такую функцию ...типа if Менюшка1.isLoaded then .... Или я много хочу ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:50:17 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Ну ёбтыть - если не нравится быстрый способ НОРМАЛЬНОЙ проверки объекта на существование - переберайте всю коллекцию. Что значит менюшка загружена???? Это объект Access - такой же, как и таблицы к примеру. Можно его сделать темповым - тогда при выходе он будет удалён. Вы же не говорите - таблица загружена - говорите - существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:56:48 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
HummerСлышали про конструкцию try catch что-нибудь?:) - слышал ... кажется ... только ... не в Аццессе и не в VBA :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:46:40 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Hummerперебор элементов по коллекции не есть быстрое решение:) - а почему, кстати оно "не быстрое"? Их что, надо куда-то при этом загружать (куда они итак уже не загружены) ... чтобы у каждого проверить СВОЙСТВО (.Name)?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:49:37 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
2 Иван FXS Ну и что? Генерация определённой ошибки в Аксесе и её отлов - есть не что иное, как эта же самая конструкция. Почему это грубое решение? Ну раз не нарвится, давайте медленно так ползать по коллекциям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:50:30 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
2 Иван FXS Поймите, вы организуете цикл скажем по 100 элементам и только у 99-го это свойство совпадёт - это что, быстро? Я просто генерю ошибку и её отлавливаю - поймал - нет объекта, нет ошибки есть объект - побыстрее будет, не так ли?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:53:56 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
А есть команда VBA, которая закрывает все открытые меню ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 11:27:44 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Hummer2 Иван FXS Поймите, вы организуете цикл скажем по 100 элементам и только у 99-го это свойство совпадёт - это что, быстро? Я просто генерю ошибку ... - очлюбопытно ... а СИСТЕМА - чтобы обнаружить, что Вы "сгенерили ошибку" - разве не будет "организовывать цикл скажем по 100 элементам"? И вообще ... быстрота, говорят, нужна только при ловле блох ... Ваша конструкция НЕКРАСИВА, поскольку использует on error НЕ ПО НАЗНАЧЕНИЮ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 21:23:15 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Иван FXSВаша конструкция НЕКРАСИВА, поскольку использует on error НЕ ПО НАЗНАЧЕНИЮ! Ну и что, что не по назначению? Есть множество решений разных задач, которые можно признать красивыми и элегантными именно потому, что они используют что-нибудь не по назначению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 21:28:21 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
2 Иван FXS Это почему не по назначению-то?:) А какое у неё назначение?:) Книжки умные почитайте, прежде чем что-то кому-то доказывать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 15:08:55 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
IMHO вы забыли про того, кто задал вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 17:55:40 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
авторВаша конструкция НЕКРАСИВА, поскольку использует on error НЕ ПО НАЗНАЧЕНИЮ! а мне понравился вариант "дергать за ошибку" проверяешь только то что нада. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 20:04:41 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
nukriУ меня открываются разные - верхние меню (сделаные мною программно) - в зависимости от того, какой пользователь вошел в систему. Вот и хочу сделать так, что при смене юзера (это дело у меня уже сделано), я программа удаляла все меню сделанные предыдущим и строила новое в зависимости от прав юзера ... А меню всегда строятся автоматически? Или юзер имеет возможность своими действиями строить меню по своему желанию? Если первое, то я бы строил все меню сам (на этапе создания mdb), а юзер при входе получал бы часть меню в невидимом виде в зависимости от его прав. Нехорошо это - создавать объекты в файле во время работы программы... Во-первых, файл растет. Во-вторых, мультиюзерство не получится. Во-вторых, на mde не перейти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 21:28:43 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
В общем на каждую смену юзера я делаю Sub УдалитьВсеПанели() Dim bar As Object For Each bar In CommandBars If (bar.BuiltIn = False) And (bar.Visible = True) Then bar.Delete End If Next bar End Sub А потом открываю ему все, что нужно .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 22:38:58 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Динамичекси созданное меню незначительно увеличивает размер фалй и распрекрасно работает в мде/аде. Например, есть несколько ролей по функциональным группам пользователей в зависимости от должностей или положения в организации - описываем для каждого главное меню программы (в табличках) и строим табличку соответсвия ролей и меню. Всё, при входе идентифицируем пользователя и выдаём меню его группы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 22:56:31 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Hummer2 Владимир Саныч Динамичекси созданное меню незначительно увеличивает размер фалй и распрекрасно работает в мде/аде. Например, есть несколько ролей по функциональным группам пользователей в зависимости от должностей или положения в организации - описываем для каждого главное меню программы (в табличках) и строим табличку соответсвия ролей и меню. Всё, при входе идентифицируем пользователя и выдаём меню его группы. Именно так я и делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 22:58:22 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
2 nukri Ну и в чём проблема с удалением-то? Зачем при каждой смене юзера удалть?:) Вы просто для КАЖДОГО юзера запускайте своего клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2004, 23:16:03 |
|
||
|
Как узнать открыто меню или нет ?
|
|||
|---|---|---|---|
|
#18+
Hummer2 nukri Ну и в чём проблема с удалением-то? Зачем при каждой смене юзера удалть?:) Вы просто для КАЖДОГО юзера запускайте своего клиента. Дело в том, что сидя за машиной один диспетчер может сменить другого ... и ему незачем запускать своего клиента ... просто нужно сменить ему панель ... А самый простой способ не думать долго какие панели были запущены предыдущим клиентом - просто удалить все и построить все заново ... можете быть ... это и "тупо в лоб" но следить за каждым открытым меню дольше ... ИМХО В любом случае Всем спасибо за советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 00:09:13 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1576&tid=1672467]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 323ms |

| 0 / 0 |
