Показать сообщение отдельно
Старый 24.04.2020, 10:43   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
? TreeNode AotDrop глючит ax2012
Привет всем.

Обнаружил странное поведение метода Treenode.AOTdrop

Для некоторых видов узлов работает некорректно. Например, если из кода перетащить этим методом узел
\Forms\MyTestForm\Designs\DesignList\TestButton

в ветку
\Security\Roles\MyTestRole\Permissions\Forms\MyTestForm

то вместо узла с именем TestButton создается узел BUTTON
Если руками мышкой перетащить то все ок.

В других случаях из кода все работало хорошо (например, перетаскивание \Forms\MyTestForm)

Поискал в коде примеры использования, оказалось что это не единственный случай таких глюков.
вот тут
\Classes\SysSecEntryPointManager\MergeEntryPointRightsIntoPrivilegeNode
тоже обходят случай глюка ядра. Пишут явно:
//AOTDrop does not work for service operations so use AOTAdd

Из интерфейса все работает когда руками контролы перетаскиваешь. А по идее это перетаскивание все равно в итоге вызывает Treenode.aotDrop

Может я чего-то не знаю и как-то неправильно использую Treenode из кода.
Может есть какой-то фокус меняющий поведение аналогично тому как нужно было вызывать LoadForInspection для узла с проектом, чтобы нормально его обойти, так и тут ?