AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2020, 17:38   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
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  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В 2012-й еще был странный баг, что лукап с перечнем методов выпадал под окном редактора, так что снизу редактора торчала его часть а основная часть была закрыта окошком редактора.

Применил вот этот совет
https://web.archive.org/web/20131222...-the-back.aspx

вроде помогло с положением лукапа, но основной глюк остался.
Старый 14.10.2020, 12:10   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Думается, стоит поискать обновления для RDSH (серверной части) и mstsc (клиента). Сходу гуглятся, к примеру, такие вот рекомендуемые обновления, но там вроде ничего нет для w2k16
За это сообщение автора поблагодарили: Logger (5).
Старый 14.10.2020, 12:46   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Думается, стоит поискать обновления для RDSH (серверной части) и mstsc (клиента).
Спасибо.
Там явно что-то во взаимодействии с клиентской частью.
Так как, например, в тех случаях когда не работает intellisense - успешно работает punto switcher, а наоборот - наоборот. Т.е. такое ощущение что начиная с 2012-й винды улучшили взаимодействие RemoteApp приложения, буфера обмена и приложений работающих на компе юзера. Так что Punto стал работать, но зато что-то сломалось в IntelliSense, словно вносится какая-то дополнительная задержка и все всплывающие окошки в редакторе давятся. И в целом он тормознее работает.
Старый 08.04.2021, 16:57   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Попробовал на 2019-й винде.

В RemoteApp ситуация явно стала лучше по сравнению с Win2016.
Выпадающие списки работают для любых методов классов, и полей таблиц, но не работают для статических методов таблиц и для элементов енума.

Странная избирательность.

Включил для ax32.exe режим совместимости Win7 (в надежде, что станет работать как в Win2008) - не помогло.
Причем как зайдешь в аксапту - все работает. Лукапы в редакторе кода работают. А как поработаешь немного, все "ломается". Перестает открываться.

P.S.
В целом ощущение что интерфейс в 2019-й винде шустрее бегает.
Старый 08.04.2021, 19:27   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В общем, как выяснилось это какая-то общая проблема сервера и клиента, в основном клиентского компа. Как правило проблемы под Win10. Совсем бесстрашные люди выдирали из безглючных сборок винды файлы mstsc.exe и mstscax.dll и использовали их - помогало.

Подробности тут
https://social.technet.microsoft.com...um=winserverTS

(чтение ветки доставляет. Читал, плакал, опрокидывал успокоительные рюмашки, смеялся, снова читал и опять плакал...)

Гуглил так
+popup issue +remoteapp
Старый 14.10.2021, 17:03   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Проверили Citrix на Windows 2019 - баг не воспроизводится. А в RemoteApp воспроизводится.

Т.е. стороннее средство лучше работает с удаленными рабочими столами, чем родное (RemoteApp)

Поковырялся я еще, сделал фикс на X++

Он каждые 100 миллисекунд ищет popap окно для текущей рабочей области аксапты. Если оно есть и изменилось на другое с момента последнего вызова, то делает WinApi вызовы

X++:
showOwnedPopups(workSpaceAreaHwnd, false);
showOwnedPopups(workSpaceAreaHwnd, false);
Это, по счастливой случайности, устраняет виндовый баг.
Вложения
Тип файла: zip RemoteAppPopupFixer.zip (6.5 Кб, 66 просмотров)
Старый 14.10.2021, 17:58   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 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.
Старый 17.10.2021, 12:04   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Выше опечатался
Вот такой вызов устраняет баг:
X++:
showOwnedPopups(workSpaceAreaHwnd, false);
showOwnedPopups(workSpaceAreaHwnd, true);
За это сообщение автора поблагодарили: mazzy (5), trud (2).
Старый 21.10.2021, 20:26   #10  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
642 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Кто-нибудь пробовал подключаться через Horizon? Есть какие-нибудь проблемы?
__________________
// no comments
Старый 20.10.2022, 20:54   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от dech Посмотреть сообщение
Кто-нибудь пробовал подключаться через Horizon? Есть какие-нибудь проблемы?
Попробовал сегодня в Horizon.
Не получилось воспроизвести.
Похоже, что в нем все в порядке.
Теги
bug, intellisense, issue, popap window, remoteapp

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dynamicsaxse: November 2018 Release – Dynamics AX2012 R3 update Blog bot DAX Blogs 0 15.11.2018 09:11
sumitax: AX2012 – Cubes Blog bot DAX Blogs 0 30.06.2012 20:12
ukax: Microsoft Dynamics AX2012 - Partner Update Briefing Blog bot DAX Blogs 0 23.07.2011 20:15
sumitax: AX2012 – Interview with Kees Hertogh – Microsoft’s Dynamics AX Product Director Blog bot DAX Blogs 1 26.03.2011 10:47
sumitax: AX2012 – What’s in store in new version Blog bot DAX Blogs 0 31.01.2011 16:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:24.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.