Показать сообщение отдельно
Старый 14.10.2021, 17:58   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Вообще баг очень странный.
Выглядит вот так (чтобы воспроизвелся, надо хотя бы раз запустить компиляцию):

Нажмите на изображение для увеличения
Название: Bug01.png
Просмотров: 45
Размер:	55.3 Кб
ID:	13247
Нажмите на изображение для увеличения
Название: Bug02.png
Просмотров: 37
Размер:	49.9 Кб
ID:	13248
Нажмите на изображение для увеличения
Название: Bug03.png
Просмотров: 35
Размер:	48.2 Кб
ID:	13249
Нажмите на изображение для увеличения
Название: Bug04.png
Просмотров: 32
Размер:	162.5 Кб
ID:	13250

т.е. popap окно открывается под окном с редактором кода. А программисту кажется что окна нет. При этом невозможна навигация по исходным текстам клавишами KeyUp / KeyDown потому что они приводят к навигации вверхи вниз по невидимому лукапу popap окну.

Для лечения в интернете предлагаются разные вещи
1. Обнуление ключа реестра ForegroundLockTimeout
HKEY_CURRENT_USER\Control Panel\Desktop

http://technicalax.blogspot.com/2017...d-in-back.html
http://web.archive.org/web/201905072...d-in-the-back/

2. Вызов Winapi функции DisableProcessWindowsGhosting
http://web.archive.org/web/201507122...ackground.aspx

3. The solution that fixed this issue was to:

Disable “Use advanced RemoteFX graphics for RemoteApp” in Local GP on the 2012R2 RDS Host(s):

Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host/Remote Session Environment/



Кому-то помогает, но многим нет.
Нам не помогло.

Видимо потому что эти советы сам баг не лечат, а просто что-то меняют в системе что косвенно влияет на воспроизводимость бага.
Также баг исчезает если параллельно аксапте запущено какое-то spy средство для исследования окон (wininfo.exe, WinID.exe и.т.п.)

Возможно вот эти хотфиксы могли бы помочь

1. https://support.microsoft.com/en-us/...e-6bdd720f9b6f

2. https://support.microsoft.com/en-us/...0-d635ed34330d

3. https://support.microsoft.com/en-us/...2-77d0f76fc3d3

4. https://support.microsoft.com/en-us/...4-0e9759381725

Но я их не нашел для Win2016 / 2019 поэтому и не попробовал

Причины предположительно такие
Цитата:
Cause
This issue occurs because Rdpshell.exe incorrectly filters some pop-up windows. Therefore, these pop-up windows are hidden behind the parent window.
Цитата:
Cause
This issue occurs because Rdpshell.exe does not transmit some parent window change information to the Remote Desktop Connection program (Mstsc.exe).
Цитата:
Symptoms
This issue occurs when an application uses WM_SETREDRAW messages to suspend active paints and is hosted as a RemoteApp.

Cause
This issue occurs because win32k.sys sets the WS_VISIBLE flag to False when the application sends the WM_SETREDRAW messages to disable paints or vice versa. However, when these applications are hosted as RemoteApps, they get hidden instead of being transparent windows.
Интересно что когда гуглишь проблему то часто попадаются буржуйские форумы где упоминают что от бага страдают продукты dynamics (Axapta, Greate Plaints)

Причем вот тут, например:
https://social.technet.microsoft.com...um=winserverTS

Упомянуто про проблемы с Win2008 и Win7
А у нас ситуация обратная.
Если на терминальном сервере Win2008 или у юзера Win7 то все хорошо.
Как-только появляется Win2016 / Win2019 / Win10 так все - полезли баги с окнами.

Похоже у них вся эта инфраструктура RDP / RDS багованная и баги из версии в версию кочуют. Плюс как я понял из чтения многочисленных обсуждений, версия протокола RDP меняется и воспроизводимость бага зависит от версий на сервере и клиенте.

Вот еще интересное описание
Цитата:
Solution 742836Focus issues with AX client running RemoteApp
Product and version: AX 2012 R2
PROBLEM
Environment has 2 clustered Windows 2008 R2 Terminal server where the AX client is exposed as Remote App.The Users are accessing the AX client using different OS. (Windows XP SP3, or Windows 7 SP1).The problem they get is that sometimes when form/lookup is opened it goes to background and the user needs to with ALT+TAB search the right form to bring it to the front.
MITIGATION
Within the link below the AX performance team blogged about it for AX 2012 users. The provided solution however (which applied to AX 2009 too) is identical to the one from the blog you found and changing the “ForegroundLockTimeout” registry key. Dynamics AX 2012: Forms on opening hide behind in the backhttp://blogs.msdn.com/b/axperf/archive/2012/02/09/dynamics-ax-2012-forms-on-opening-hide-behind-in-the-back.aspx As per the TechNet blogs below the “ForegroundLockTimeout” specifies the time, following user input, during which the system keeps applications from moving into the foreground automatically (without selection by the user). The “ForegroundFlashCount” specifies the number of times the taskbar button flashes to notify the user that the system has activated a background window. If the time elapsed since the last user input exceeds the value of the ForegroundLockTimeout entry, the window will automatically be brought to the foreground. * ForegroundLockTimeouthttp://technet.microsoft.com/en-us/library/cc785645(v=ws.10).aspx * ForegroundFlashCounthttp://technet.microsoft.com/en-us/library/cc758292(WS.10).aspx Through combining these two keys a clear indication to the user can be realized. The ForegroundFlashCount setting indeed does little more than set the time the picture on the taskbar is flashing once the program/form is started in the background. For windows 2008 and 2008 R2 Remote desktop service (RDS) a number of hotfixes are released (see articles below) specify for “Remote App” there are a number of fixes where windows do not show properly and/or show in the background. * 2312539 Available Updates for Terminal Services (Remote Desktop Services) in Windows Server 2008http://support.microsoft.com/default.aspx?scid=kb;EN-US;2312539 * 2699817: http://support.microsoft.com/kb/2699817 * 2696020: http://support.microsoft.com/kb/2696020Important steps to check: * Verify the location of the ForegroundLockTimeout and ForegroundFlashCount registry values to be at “HKEY_CURRENT_USER\Control Panel\Desktop” and not in “HKLM:” * Verify the type of values both to be REG_DWORD * Verify the machine has been rebooted to get the values to get effective. * If you have the language bar activated, please switch it off for a Test. * Another thing to check is that, and it happens very often, the Regkey is not set properly. For example what often happen is that they copy and paste it and unfortunately they copy a blank space with it. In this case the complete Regkey didn’t work proper. So maybe exporting the Regkey and check it.