Your comments

Практика использования системных команд - абсолютно нормальна и безопасна, и довольно часто используется. Имена системных команд меняться не будут. Никогда. Могут добавляться новые команды.

Узнать текущий режим можно, анализируя состояния команд:


function GetMapMode

    dim aSelectionMode, anEditingMode

    aSelectionMode = MainWindow.Actions("ActionsEditStartSelection").Checked

    anEditingMode = MainWindow.Actions("ActionsEditReshapeSelection").Checked

    if aSelectionMode then

        GetMapMode = "Выделение"

    elseif anEditingMode then

        GetMapMode = "Редактирование"

    else

        GetMapMode = "Создание"

    end if

end function


Узнать, какой объект и какая его форма редактируется, можно через Selection.Ids(0) и Selection.ShapeIndexes(0).


Пока не было востребовано.

А вам зачем окна перебирать?

Программно, через API:


Delphi:

MainWindow.Actions["ActionsEditStartSelection"].Execute


VBScript:

MainWindow.Actions("ActionsEditStartSelection").Execute


Мне кажется, можно такие объекты импортировать с одновершинным контуром в точке (0,0).

А найти их можно через запросы по семантике и в табличных формах.


Пригодится :)

Есть мысль туда кинуть кнопку смены проекта и добавить кнопку включения карт в проект.


Исправили. Клиент не создает.

Сервер пока создает, так как он должен работать в режиме совместимости со старыми клиентами.

Пространственные операции поправили.

Исправили модуль проверки объектов - пока не выкладывали.