|
|
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Вообщем столкнулся с такой проблемой - пишу сетевую версию проги "складской учет" и есть такой момент, что надо блокировать некоторые пункты меню на всех компах где открыта прога при определенных условиях. Если кто знаем как подскажите все варианты, я это сделал через таймер и таблицу, но не очень устраивает!!! Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 14:48 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Я же написал, что я это сделал через таймер и таблицу, и само собой, "SKIP FOR" в этом деле учавствовал, я просил подсказать мне более нормальные варианты решения этой проблемы!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 15:47 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Если в SKIP FOR указана функция, то эта функция будет вычисляться каждый раз при попытке отрисовать (раскрыть) соответсвующий пункт меню. Т.е. таймер здесь вообще не нужен. Что в Вашем понимании является "более нормальным"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 17:03 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Я использую таймер для сетевой версии, у меня загружено несколько клиентских программ на разных машинах и через таймер я в переменную из таблицы присваиваю значение, а сама переменная уже находится в Skip For, а вот как это обойти я пока не придумал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 17:32 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Как уже было напИсано, таймер тут никаким боком не нужен. Нужна процедура/функция, вычисляющая значение упомянутой переменной. Не по таймеру выислять, а когда в этом возникнет необходимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 17:51 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Хорошо скажу немного подругому, как обойтись без привязке SKIP FOR к таблице, ведь одну и туже ведь переменную нельзя видеть на разных компах в одной области данных??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 18:01 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
У Вас какое-то очень неправильное мнение о работе меню. Ваша переменная вычисляется на основании данных в таблице? Ведь сейчас она как-то вычисляется? В Вашем таймере. Так? Ну так просто это вычисление вынести из таймера. Без Skip for не обойтись и непонятно чем он Вам так помешал? Он как раз и организовывает вызов вычисления именно в нужный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 18:16 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Я понимаю , что без него не обойтись , но дело в том, что когда я Skip For присваиваю значение из таблице , то данные без таймера не обновляются, т.е. если я на одной машиен выйду из формы, то на другой менюшка на открытие этой формы не активизируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 18:22 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Если бы Вы уточнили, что означает "момент, что надо блокировать некоторые пункты меню на всех компах где открыта прога при определенных условиях" , то может форумчанам будет легче подсказать решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 19:00 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
Задача состоит в том, что надо блокировать определенные пункты меню при открытии определенных форм, и причем делать это на всех компах где открыто приложение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 19:06 |
|
||
|
Сеть и меню
|
|||
|---|---|---|---|
|
#18+
В SKIP FOR надо так прямо и написать вызов своей функции SKIP FOR MyFuncCheck() А уже в функции MyFuncCheck() выполнять весь нужный анализ и возвращать .T. или .F. в зависимости от результата анализа. Skip FOR будет вычисляться каждый раз при попытке раскрыть выпадающее POPUP-меню в пункте которого оно и прописано. Активная в данный момент форма определяется через _SCREEN.ActiveForm. Если нет активных форм, то эта ссылка вернет NULL. Но у Вас более простая задача: Блокировать пункт меню в момент активизации формы. Так почему бы не поручить эту задачу самой форме? В событии Activate - блокировать пункты, а в событии Deactivate и Unload - разблокировать. Да, "вешать" SKIP FOR на пункты главной линейки меню - не рекомендуется. Эти пункты всегда должны быть доступны. Лучше их создавать/удалять при активизации обслуживаемых ими форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2007, 19:56 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1588892]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 392ms |

| 0 / 0 |
