Моделирует переключение на сети и возвращает результат моделируемого переключения.
Visual Basic:
Function NetworkSwitchAnalyze(States As ZElemsStates, nFlags As Long) As IZSwitchStates
States - коллекция переключаемых объектов
nFlags - флаги определяющие, какие типы объектов должны попадать в ответ: 1 - потребители, 2 - все узловые объекты, 4 - участки
На входе метода коллекция с объектами, которые будут участвовать в переключении. Элемент коллекции должен содержать ID объекта (отсекающего устройства или участка) и режим в который он должен перейти в результате переключения.
На выходе коллекция IZSwitchStates, содержащая объекты, которые изменят свое состояние по отношению к источникам в результате моделируемого переключения.
Private Sub Command1_Click() If MapCtrl1.CurrentID = -1 Then Exit Sub Dim elems As ZElemsStates Dim states As IZSwitchStates Set elems = New ZElemsStates 'Добавляем во входную коллекцию текущий элемент слоя с переводом его в режим 2 elems.AddItem MapCtrl1.CurrentID, 2 'Выполняем анализ переключения текущего объекта слоя с выводом 'в результат всех узлов и участков, которые изменят свое состояние Set states = MapCtrl1.Map.Layers.Active.NetworkSwitchAnalyze(elems, 2 + 4) Dim i As Long MapCtrl1.Map.Layers.Active.Selection.Clear List1.Clear For i = 0 To states.GetCount - 1 'Выделяем результат на карте MapCtrl1.Map.Layers.Active.Selection.AddElem states.GetID(i) 'Выводим результат в список List1.AddItem Str(states.GetID(i)) + " " + Str(states.GetState(i)) Next i End Sub