Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сеть и меню / 13 сообщений из 13, страница 1 из 1
13.08.2007, 14:48
    #34723908
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Вообщем столкнулся с такой проблемой - пишу сетевую версию проги "складской учет" и есть такой момент, что надо блокировать некоторые пункты меню на всех компах где открыта прога при определенных условиях. Если кто знаем как подскажите все варианты, я это сделал через таймер и таблицу, но не очень устраивает!!! Заранее спасибо.
...
Рейтинг: 0 / 0
13.08.2007, 15:22
    #34724036
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
...
Рейтинг: 0 / 0
13.08.2007, 15:47
    #34724135
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Я же написал, что я это сделал через таймер и таблицу, и само собой, "SKIP FOR" в этом деле учавствовал, я просил подсказать мне более нормальные варианты решения этой проблемы!!!
...
Рейтинг: 0 / 0
13.08.2007, 17:03
    #34724467
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Если в SKIP FOR указана функция, то эта функция будет вычисляться каждый раз при попытке отрисовать (раскрыть) соответсвующий пункт меню. Т.е. таймер здесь вообще не нужен.

Что в Вашем понимании является "более нормальным"?
...
Рейтинг: 0 / 0
13.08.2007, 17:32
    #34724558
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Я использую таймер для сетевой версии, у меня загружено несколько клиентских программ на разных машинах и через таймер я в переменную из таблицы присваиваю значение, а сама переменная уже находится в Skip For, а вот как это обойти я пока не придумал...
...
Рейтинг: 0 / 0
13.08.2007, 17:51
    #34724618
Сеть и меню
Как уже было напИсано, таймер тут никаким боком не нужен. Нужна процедура/функция, вычисляющая значение упомянутой переменной. Не по таймеру выислять, а когда в этом возникнет необходимость.
...
Рейтинг: 0 / 0
13.08.2007, 18:01
    #34724664
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Хорошо скажу немного подругому, как обойтись без привязке SKIP FOR к таблице, ведь одну и туже ведь переменную нельзя видеть на разных компах в одной области данных???
...
Рейтинг: 0 / 0
13.08.2007, 18:16
    #34724705
Сеть и меню
У Вас какое-то очень неправильное мнение о работе меню.
Ваша переменная вычисляется на основании данных в таблице? Ведь сейчас она как-то вычисляется? В Вашем таймере. Так? Ну так просто это вычисление вынести из таймера. Без Skip for не обойтись и непонятно чем он Вам так помешал? Он как раз и организовывает вызов вычисления именно в нужный момент.
...
Рейтинг: 0 / 0
13.08.2007, 18:22
    #34724720
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Я понимаю , что без него не обойтись , но дело в том, что когда я Skip For присваиваю значение из таблице , то данные без таймера не обновляются, т.е. если я на одной машиен выйду из формы, то на другой менюшка на открытие этой формы не активизируется.
...
Рейтинг: 0 / 0
13.08.2007, 19:00
    #34724812
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Если бы Вы уточнили, что означает "момент, что надо блокировать некоторые пункты меню на всех компах где открыта прога при определенных условиях" , то может форумчанам будет легче подсказать решение.
...
Рейтинг: 0 / 0
13.08.2007, 19:06
    #34724829
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Задача состоит в том, что надо блокировать определенные пункты меню при открытии определенных форм, и причем делать это на всех компах где открыто приложение...
...
Рейтинг: 0 / 0
13.08.2007, 19:56
    #34724901
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
В SKIP FOR надо так прямо и написать вызов своей функции

SKIP FOR MyFuncCheck()

А уже в функции MyFuncCheck() выполнять весь нужный анализ и возвращать .T. или .F. в зависимости от результата анализа.

Skip FOR будет вычисляться каждый раз при попытке раскрыть выпадающее POPUP-меню в пункте которого оно и прописано.

Активная в данный момент форма определяется через _SCREEN.ActiveForm. Если нет активных форм, то эта ссылка вернет NULL.

Но у Вас более простая задача: Блокировать пункт меню в момент активизации формы.

Так почему бы не поручить эту задачу самой форме? В событии Activate - блокировать пункты, а в событии Deactivate и Unload - разблокировать.

Да, "вешать" SKIP FOR на пункты главной линейки меню - не рекомендуется. Эти пункты всегда должны быть доступны. Лучше их создавать/удалять при активизации обслуживаемых ими форм.
...
Рейтинг: 0 / 0
13.08.2007, 20:26
    #34724946
johngorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сеть и меню
Ясно спасибо, но вся соль и заключается в блокировке главных пунктов меню...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сеть и меню / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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