IMsCalculationModelTreeNode.Breakpoint

Синтаксис

Breakpoint: IMsBreakpoint;

Описание

Свойство Breakpoint возвращает точку останова.

Комментарии

Свойство возвращает базовый интерфейс для работы с точкой останова. Для работы с параметрами различных видов точек останова приведите IMsBreakpoint к интерфейсу IMsModelCalendarBreakpoint или IMsDataBreakpoint.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1» и компонента TreeList с идентификатором «TreeList1». В репозитории должен присутствовать контейнер моделирования с идентификатором «MODEL_SPACE», содержащий задачу моделирования с идентификатором «PROBLEM». Также перед выполнением примера необходимо добавить ссылки на системные сборки «Metabase», «Ms».

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);

Var

Mb: IMetabase;

ModelSpaceDescr: IMetabaseObjectDescriptor;

Problem: IMsProblem;

CalcSettings: IMsProblemCalculationSettings;

Calculation: IMsProblemCalculation;

CalculationTree: IMsCalculationTree;

CalcChildren: IMsCalculationTreeNodes;

Begin

Mb := MetabaseClass.Active;

ModelSpaceDescr := Mb.ItemById("MODEL_SPACE");

Problem := Mb.ItemByIdNamespace("PROBLEM", ModelSpaceDescr.Key).Bind As IMsProblem;

CalcSettings := Problem.CreateCalculationSettings;

CalcSettings.FactIncluded := True;

Calculation := Problem.Calculate(CalcSettings);

CalculationTree := Calculation.CalculationTree;

CalcChildren := CalculationTree.Children;

FillCalcList(CalcChildren, Null);

End Sub Button1OnClick;

 

Sub FillCalcList(Items: IMsCalculationTreeNodes; ParentNode: ITreeListNode);

Var

TreeNodes: ITreeListNodes;

i: Integer;

Item: IMsCalculationTreeNode;

ModelKindItem: IMsCalculationModelTreeNode;

TreeNode: ITreeListNode;

Text: String;

Begin

TreeNodes := TreeList1.Nodes;

For i := 0 To Items.Count - 1 Do

Item := Items.Item(i);

Text := Item.Text;

If Item.Kind = MsCalculationTreeNodeKind.Model Then

Text := Text + " (установлена точка остановы!)";

ModelKindItem := Item As IMsCalculationModelTreeNode;

Debug.WriteLine("Точка остановы: " + ModelKindItem.Breakpoint.Name);

Debug.WriteLine("Сработала в точке: " + ModelKindItem.CurrentPoint.ToString);

Debug.WriteLine("----");

End If;

TreeNode := TreeNodes.AddChild(ParentNode, Text);

FillCalcList(Item.Children, TreeNode);

TreeNode.Expand(False);

End For;

End Sub FillCalcList;

После выполнения примера в компонент TreeList будет выведено дерево расчета задачи моделирования. В окно консоли будет выведена информация об элементах дерева, являющихся точками останова.

См. также:

IMsCalculationModelTreeNode