Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню - Дважды срабатывает функция / 11 сообщений из 11, страница 1 из 1
22.12.2003, 15:17
    #32359833
visor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
функция указанная в OnAction
...
Рейтинг: 0 / 0
22.12.2003, 15:24
    #32359847
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
Не могёт такого быть:)
Делаем меню - одна кнопка. Вешаем функцию в OnAction tst_msg. Идём в модули, создаём Public Sub tst_msg.
Там пишем MsgBox "Test". Простую форму без контролов, в свойствах указываем наше меню - и видим только одно сообщение, а не два:)

Ищите второй вызов функции пи открытии формы, текущей записи, на загрузке и прочее....
...
Рейтинг: 0 / 0
22.12.2003, 15:27
    #32359854
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
Может, может - дважды. Только я не помню как и как исправить. Было у меня такое (совсем не давно) - вылечил легко - но забыл :(
visor сообщи подробности - может это поможет моей памяти :)
...
Рейтинг: 0 / 0
22.12.2003, 15:30
    #32359859
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
а лечится это очень просто.
надо подставлять обязательно
function (не sub)
и во вторых писать скобки (даже пустые), например так
=fnAction()
...
Рейтинг: 0 / 0
22.12.2003, 15:30
    #32359860
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
2 Senin Viktor
Ну вот сколько с менюшками не работаю - такого не видал:)
Вся работа с ними ведётся только на Аксесс Хп (в основном), в 97 немного работал, но таких глюков так же не видел.

Если в такой базе (с глюком) сделать как я описал выше - будет 2 сообщения?
Это происходит только с одним меню или со всеми?
...
Рейтинг: 0 / 0
22.12.2003, 15:35
    #32359865
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
2 sasha_1
надо подставлять обязательно
function (не sub)

Нифига подобного. Всё прекрасно работает на SUB, даже и без Public.
В OnAction можно указывать вот так [имя процедуры] без всяких скобок и знаков равенства.
...
Рейтинг: 0 / 0
22.12.2003, 15:43
    #32359873
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
Есть контекстно меню, вызывается Public Function (или Public Sub) в модуле формы (формы как всплывающая).
в OnAction стоит = Froms![fromName].qq
в qq - 1 MsgBox
который 3 (трижды!) вызывается.
Лечиться переносом в отдельный модуль процедуры как функции


Акес2000+Сп3
...
Рейтинг: 0 / 0
22.12.2003, 15:53
    #32359893
visor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
все так и есть
OnAction так и прописывался в процедуре
но прикол в
.onAction = "=function()"
всем спасибо
...
Рейтинг: 0 / 0
22.12.2003, 16:20
    #32359935
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
2 Senin Viktor
Проверил в ХП (SP-2). Всё нормально, наблюдался только один MSGBOX.
Где-то вычитал (уж непомню где), что при вызове функций и процедур из модулей форм через меню могут выплывать глюки и ошибки, рекомендовалось фунецию писать в модуле, а уж отдуда вызывать функцию для меню, которая находится в форме). Ну как и сделано в твоём случае.

Для универсальности функции для меню можно обращаться к форме и функциям в модуле формы через Screen.ActiveForm.[имя функции] или для подчинённой формы: Screen.ActiveForm.ActiveControl.Form.[имя функции]
...
Рейтинг: 0 / 0
22.12.2003, 16:37
    #32359966
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
2Hummer
>Для универсальности функции для меню можно обращаться к форме и функциям в модуле формы через Screen.ActiveForm.[имя функции] или для подчинённой формы: Screen.ActiveForm.ActiveControl.Form.[имя функции]

Это ты мне говоришь или visor'у? Хотя не важно - важно помнить про Screen.ActiveForm при работе с диалоговыми окнами может возращать не то, что ожидаешь
...
Рейтинг: 0 / 0
22.12.2003, 16:42
    #32359977
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контекстное меню - Дважды срабатывает функция
2 Senin Viktor
Нет, не тебе говорил:) Просто забыл в разрыв строк ник вставить. visor-у говорил.
Важно помнить, ктож спорит, но в общем случае часто выручает такое обращение:)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню - Дважды срабатывает функция / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]