20.09.2020, 17:38 | #1 |
Участник
|
Ax2012 IntelliSense не работает в RemoteApp
Привет всем.
Может кто-нибудь сталкивался с проблемой. Аксапта 2012 R3 CU13 ядро 6.3.6000.8144 Запускаем ax32.exe в RDP сессии - все хорошо IntelliSense в редакторе работает для всех версий винды (Win2008, Win2012R2, Win2016) Запускаем ax32.exe в Citrix сессии - все хорошо IntelliSense в редакторе работает. (Попробовал только когда Citrix развернут на Win2008 - другого варианты под рукой не оказалось.) Запускаем ax32.exe в RemoteApp сессии. Начинаются проблемы. Для Win2008 все хорошо, IntelliSense в редакторе работает. Для Win2012R2, Win2016 - глючит. В чем проявляется: - если после имени табличной переменной ставить точку, то нет выпадающего списка с перечнем полей и методов. Или иногда он есть, но с ооочень большой задержкой. В общем, пользоваться нереально. - Аналогично с некоторой задержкой выпадает лукап с статическими методами таблицы, но задержка меньше секунды терпимо, но затем нет всплывающих подсказок с перечнем параметров метода и они не отображаются по Ctrl-Shift-Space. С чем это может быть связано и как лечить ? Я сперва подумал что, возможно, мешают расширения для редактора из пакета JAEE.AX.EditorExtensions Убрал их. В чем-то стало быстрее, но принципиально ничего не изменилось. Проверил настройку винды Performance options - Advanced - Prcessor Scheduling - Adjust for best performance of для Win2008 и Win2016 стоит Programs для Win2012 стоит Background services т.е. нет зависимости от этого параметра. Еще нагуглил, что такое поведение может быть когда код редактируемого метода не компилируется выше той точки которую редактируем - проверил - так и есть. Но опять, же это не наш случай так как в Win2012 и Win2016 глюк проявляется независимо от того скомпилирован метод успешно или нет. |
|
20.09.2020, 17:43 | #2 |
Участник
|
В 2012-й еще был странный баг, что лукап с перечнем методов выпадал под окном редактора, так что снизу редактора торчала его часть а основная часть была закрыта окошком редактора.
Применил вот этот совет https://web.archive.org/web/20131222...-the-back.aspx вроде помогло с положением лукапа, но основной глюк остался. |
|
14.10.2020, 12:10 | #3 |
Участник
|
Думается, стоит поискать обновления для RDSH (серверной части) и mstsc (клиента). Сходу гуглятся, к примеру, такие вот рекомендуемые обновления, но там вроде ничего нет для w2k16
|
|
|
За это сообщение автора поблагодарили: Logger (5). |
14.10.2020, 12:46 | #4 |
Участник
|
Цитата:
Там явно что-то во взаимодействии с клиентской частью. Так как, например, в тех случаях когда не работает intellisense - успешно работает punto switcher, а наоборот - наоборот. Т.е. такое ощущение что начиная с 2012-й винды улучшили взаимодействие RemoteApp приложения, буфера обмена и приложений работающих на компе юзера. Так что Punto стал работать, но зато что-то сломалось в IntelliSense, словно вносится какая-то дополнительная задержка и все всплывающие окошки в редакторе давятся. И в целом он тормознее работает. |
|
08.04.2021, 16:57 | #5 |
Участник
|
Попробовал на 2019-й винде.
В RemoteApp ситуация явно стала лучше по сравнению с Win2016. Выпадающие списки работают для любых методов классов, и полей таблиц, но не работают для статических методов таблиц и для элементов енума. Странная избирательность. Включил для ax32.exe режим совместимости Win7 (в надежде, что станет работать как в Win2008) - не помогло. Причем как зайдешь в аксапту - все работает. Лукапы в редакторе кода работают. А как поработаешь немного, все "ломается". Перестает открываться. P.S. В целом ощущение что интерфейс в 2019-й винде шустрее бегает. |
|
08.04.2021, 19:27 | #6 |
Участник
|
В общем, как выяснилось это какая-то общая проблема сервера и клиента, в основном клиентского компа. Как правило проблемы под Win10. Совсем бесстрашные люди выдирали из безглючных сборок винды файлы mstsc.exe и mstscax.dll и использовали их - помогало.
Подробности тут https://social.technet.microsoft.com...um=winserverTS (чтение ветки доставляет. Читал, плакал, опрокидывал успокоительные рюмашки, смеялся, снова читал и опять плакал...) Гуглил так +popup issue +remoteapp |
|
14.10.2021, 17:03 | #7 |
Участник
|
Проверили Citrix на Windows 2019 - баг не воспроизводится. А в RemoteApp воспроизводится.
Т.е. стороннее средство лучше работает с удаленными рабочими столами, чем родное (RemoteApp) Поковырялся я еще, сделал фикс на X++ Он каждые 100 миллисекунд ищет popap окно для текущей рабочей области аксапты. Если оно есть и изменилось на другое с момента последнего вызова, то делает WinApi вызовы X++: showOwnedPopups(workSpaceAreaHwnd, false); showOwnedPopups(workSpaceAreaHwnd, false); |
|
14.10.2021, 17:58 | #8 |
Участник
|
Вообще баг очень странный.
Выглядит вот так (чтобы воспроизвелся, надо хотя бы раз запустить компиляцию): т.е. 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. Причем вот тут, например: 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. |
|
17.10.2021, 12:04 | #9 |
Участник
|
Выше опечатался
Вот такой вызов устраняет баг: X++: showOwnedPopups(workSpaceAreaHwnd, false); showOwnedPopups(workSpaceAreaHwnd, true); |
|
|
За это сообщение автора поблагодарили: mazzy (5), trud (2). |
21.10.2021, 20:26 | #10 |
Участник
|
Кто-нибудь пробовал подключаться через Horizon? Есть какие-нибудь проблемы?
__________________
// no comments |
|
20.10.2022, 20:54 | #11 |
Участник
|
|
|
Теги |
bug, intellisense, issue, popap window, remoteapp |
|
|