![]() |
|
v7: ОбработкаВнешнегоСобытия() и два модальных окна | ☑ | ||
---|---|---|---|---|
0
NS
30.07.11
✎
13:22
|
Есть такой глюк в 7.7 - если открыто два модальных окна, то ОбработкаВнешнегоСобытия() не работает. Кто-нибудь смог побороть? Или не париться, и закрывать одно окно открывая другое?
|
|||
1
andrewks
30.07.11
✎
13:27
|
тут где-то промелькала внешняя разработка, которая шлёт события в 1С с нужной периодичностью, и в ОбработкаВнешСоб уже отрабатываешь. правда, я сам её не юзал, но елси описание не врёт, то должна быть неплохой штукой
|
|||
2
NS
30.07.11
✎
13:28
|
(1) Проблема же в другом - в глюке двух модельных окон.
События идут, но приходят конечно-же когда одно из модальных окон закрывается. |
|||
3
NS
30.07.11
✎
13:38
|
Может я плохо объясняю - обработкавнешнегособытия() есть в обоих окнах. По логике событие должно приходить в последнее открытое модальное окно, но не приходит никуда. После закрытия активного модального окна приходит в неактивное на момент события.
|
|||
4
ДенисЧ
30.07.11
✎
14:10
|
Я бы не парился и забил.
Тем более, 2 модальных окна в одном приложении - несколько моветонно... |
|||
5
NS
30.07.11
✎
14:14
|
(4) Да ладно?!
|
|||
6
ДенисЧ
30.07.11
✎
14:15
|
(5) угу... Это следует, не совсем явно, из определения модальности окна.
|
|||
7
NS
30.07.11
✎
14:16
|
(6) Из модального окна нужно открыть другое - что мы в таком случае делаем?
|
|||
8
NS
30.07.11
✎
14:17
|
(6) Ничего не следует. Модальное окно - всего лишь единственное доступное на данный момент. Поверх его мы спокойно может открыть другое окно модально.
|
|||
9
ДенисЧ
30.07.11
✎
14:17
|
(7) изменяем логику, чтобы такое не понадобилось :-)
|
|||
10
ДенисЧ
30.07.11
✎
14:18
|
(8) можем. Но моветонно.
Лично мне такая картина не нравится. И я так не делаю. И никогда не делал. |
|||
11
Guk
30.07.11
✎
14:18
|
из определения модального окна:
"В графическом интерфейсе пользователя модальным называется окно, которое блокирует работу пользователя с родительским приложением до тех пор, пока пользователь это окно не закроет" |
|||
12
ДенисЧ
30.07.11
✎
14:19
|
Вань, тебя повысили или понизили? :-)
|
|||
13
Guk
30.07.11
✎
14:19
|
(12) я к тому, что Сергей вырывает гланды через опу...
|
|||
14
Guk
30.07.11
✎
14:21
|
а вот то, что 7.7 позволяет открыть одновременно 2 модальных окна, это действительно глюк ;)...
|
|||
15
ДенисЧ
30.07.11
✎
14:22
|
(14) Это не 77, это винда...
|
|||
16
NS
30.07.11
✎
14:23
|
(14) 1С тут причем?
(13) Это не мой код, и переписывать нихрена не хочу. |
|||
17
NS
30.07.11
✎
14:42
|
Убрал модальность, но конечно это плохо - сканер не там может сработать, и смысл действия получается иной.
|
|||
18
Torquader
30.07.11
✎
19:44
|
(14) Замечательный InternetExplorer позволяет открыть модальных окон столько, сколько душа пожелает - и никакого тупника не возникает - даже можно между ними переключаться.
Что касается 1С, то можно открыть сколько угодно "модальных окон", но пользователь работает только с последним, так как все остальные заблокированы. А проблема "двух окон", скорей всего, в том, что окно открыли из обработки внешнего события - тогда, пока она не завершится, никакие другие события поступать не будут. |
|||
19
NS
30.07.11
✎
20:01
|
(18) Погугли, это известный глюк, на него еще GreyT напоролся походу в 2005-ом году.
То есть это именно глюк - на экране две модальных формы, в обеих обработка внешенего события (и в глобальнике) - событие не возникает нигде. |
|||
20
Torquader
30.07.11
✎
21:07
|
(19) Может быть - просто у меня всё через DDE реализовано - а оно "дёргает" сразу - то есть, чтобы в этот момент не выполнялось, как только идёт переход на следующую строку кода, то DDE событие обрабатывается (только, правда, в глобальном модуле - но тут уже можно его и "ретранслировать").
А обработка внешнего события "застревает" даже если меню открыть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |