Имя: Пароль:
1C
1C 7.7
v7: Отладчик теряет фокус? Есть решение.
0 MadDAD
 
18.01.19
12:21
Коллеги-динозавры, кого-нибудь кроме меня достало явление, когда при отладке в системах новее Win XP отладчик теряет фокус?

Если да - то прошу протестировать решение. Это библиотека для подключения методом Ромикса (Книга знаний: Перехват API-вызовов и альтернативные плагины для 1С:Предприятие).

https://cloud.mail.ru/public/MDQ4/PSTmTRbsy

Суть в том чтобы подменить вызов SetForegroundWindow(hWnd) на SwitchToThisWindow(hWnd, TRUE).

SetForegroundWindow отрабатывает некорректно на новых системах если окно перекрыто другим приложением.
1 ADirks
 
18.01.19
12:27
Убей процесс dwm. Два раза.
2 MadDAD
 
18.01.19
12:29
Это помогает. Но не на Server 2016 и Win 10.
3 ADirks
 
18.01.19
12:31
может, там другой window manager?
4 MadDAD
 
18.01.19
12:34
(3) Он просто висит в какой-то левой сессии. Не определишь с ходу какому юзеру принадлежит. И на сколько я помню он всегда оживает.
5 MadDAD
 
18.01.19
12:35
Мне оказалось проще библиотечку накидать. Вроде работает
6 SleepyHead
 
гуру
18.01.19
12:36
(0) Где ты был со своим решением 10 лет назад?!
7 MadDAD
 
18.01.19
12:39
(6) 10 лет назад проблема решалась отключением менеджера окон :)
8 SleepyHead
 
гуру
18.01.19
12:40
(7) Ну да, я приврал насчет 10 лет, но 3-5 лет назад меня эта проблема нереально бесила. И вот уже почти год, как я полностью распрощался с 1с77, а до этого в течение 2 лет закрывал проекты на 1с77 вручную.

Зачем это теперь, не очень понятно.
9 MWWRuza
 
гуру
18.01.19
20:53
(8)А, что, в восьмерке такой проблемы разве нет? Я тут столкнулся, тоже пришлось прибивать dwm... Думал всегда такое... А вполне может быть, что такой релиз платформы кривой попался...
10 NorthWind
 
18.01.19
21:56
(9) чёт не припоминаю. Клюшки онли.
11 MadDAD
 
23.01.19
16:24
В итоге выяснилось, что и SwitchToThisWindow() так же не отрабатывает корректно. Поэтому было применено костыльное решение - если активное окно не наше, тогда свернуть развернуть наше. В целом работает, но в некоторых случаях дает визуальные эффекты, но это в любом случае лучше лишних движений мышью при отладке.
12 Mikeware
 
23.01.19
16:27
(10) не, 8.3.11 упп - такая же фигня
13 ADirks
 
24.01.19
08:45
(11) Оконный менеджер в винде - это вообще какая-то вещь в себе. Делает то, чего не просили, и не всегда делает то, что я хочу.
Как-то делал оповещалку в трее, которая бы активизировала окно 1С при клике на балун - казалось бы, чего проще, ан нет... Т.е. дома на XP-хе оно работало замечательно, но на более старших версиях какая-то каша происходила.
14 Sserj
 
24.01.19
09:08
В свойствах 1С поставить запуск в режиме совместимости с WinXP SP2 (именно SP2).
15 Злопчинский
 
24.01.19
11:45
Прибить dwm на вин7проф  - работает!
А вот на ноуте в вин10 - что..?
16 MadDAD
 
24.01.19
12:17
(15) на Win-10 это. В шапке.

На win-10 мне не удалось победить DWM, поэтому родилось это. Можно еще попробовать (14).
17 trad
 
24.01.19
12:43
а отключение Aero не поможет в борьбе?
18 MadDAD
 
24.01.19
15:16
(17) Не помогло.

Я для себя решение уже сделал, так поделился, может кому еще нужно.