|
popupmenu(в Form1) -> FormModal.Show Modal ->popupmenu(FormModal) -не работает
|
|||
---|---|---|---|
#18+
Удалось слава богу смоделировать проблему. Чистый VB6 на 3 строчки кода. Выводим модальную FormModal тремя вариантами: Вариант 1. В Form1 есть меню с пунктом Show Modal c кодом: Код: vbnet 1. 2. 3.
Вариант 2. Также есть кнопка CommandShowModal, кот. делает тоже самое Код: vbnet 1. 2. 3.
Вариант 3. Также menu_File1 можно вызвать через popup, а потом соотв. нажать там "Show Modal" Код: vbnet 1. 2. 3. 4. 5.
Теперь внимание. В FormModal также есть свое menu_File2 вызываемое через popup Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Так вот, если модальная форма вызывалась по сценарию Вариант 1. или Вариант 2. , то нижний код выводит меню при щелчке по форме правой кнопкой мыши. А если по сценарию Вариант 3. , т.е. popup по первой форме popup по второй форме то МЕНЮ НА ВТОРОЙ ФОРМЕ НЕ ПОЯВЛЯЕТСЯ . P.S. Монитор тряпочкой протирал, стучать не пробовал PPS. В реальном приложении popup меню формы 1 - это меню трея, где есть пункт "Settings", кот. вызывает форму "Settings" (логично что она модальная), а в форме "Settings" есть всякие Listview c контекстными меню. Дык вот при вызове из трея ни одно из этих контекстных меню не показывается. Но как выяснилось проблема высекается на раз-два. Вот только как решить? "Тест проект" прилагается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 21:25 |
|
popupmenu(в Form1) -> FormModal.Show Modal ->popupmenu(FormModal) -не работает
|
|||
---|---|---|---|
#18+
Первый пришедший в голову workaround: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Тогда работает. Как вариант, но как-то это фигово выглядит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 21:37 |
|
popupmenu(в Form1) -> FormModal.Show Modal ->popupmenu(FormModal) -не работает
|
|||
---|---|---|---|
#18+
А по другому как через таймер и не получится. Popup может быть только один. Вызывая модальное окно из кода первого popup меню, я блокирую дальнейшее выполнение вызывающей функции (пока Modal не закроется) и закрытие хэндла первого popup(опять же пока Modal не закроется). Соответственно второе popup (из модальной формы) вызвать невозможно. Deadlock. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2013, 22:37 |
|
|
start [/forum/topic.php?fid=60&msg=38275534&tid=2156953]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 148ms |
0 / 0 |