Dine kommentarer
Практика использования системных команд - абсолютно нормальна и безопасна, и довольно часто используется. Имена системных команд меняться не будут. Никогда. Могут добавляться новые команды.
Узнать текущий режим можно, анализируя состояния команд:
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).
А найти их можно через запросы по семантике и в табличных формах.
Поправили
Пригодится :)
Есть мысль туда кинуть кнопку смены проекта и добавить кнопку включения карт в проект.
Исправили. Клиент не создает.
Сервер пока создает, так как он должен работать в режиме совместимости со старыми клиентами.
Пространственные операции поправили.
Исправили модуль проверки объектов - пока не выкладывали.
Kundesupport af UserEcho