1. После выбора пользователем комманды "Сдвинуть вниз", среда возвращает плагину комманду(el_MoveToDown) и имя элемента через точку _var_Desktop (Hub:например).
2. Плагин через _work_doMoveToDown обертки вызывает процедуру hiTools.dll - ShiftEl('hub','delphi',1)
3. ShiftEl пользуясь процедурами из elmen.dll
a. откроет базу
б. получит Pos Huba (1) по его имени
в. получит Pos элемента стоящего после него. (2)
г. все таки видимо вызовет процедуру которая обменяет значение Pos этих элементов. Нельзя же просто Pos Hub-а приравнять 2. Получиться два элемента с одинаковим значением Pos.
д. закроет базу.
PS: Я думаю названия процедур не принципиальны
![](/img/smilies/icon_smile.gif)