FindByKey(BreakpointKey: Integer): IMsBreakpoint;
BreakpointKey. Breakpoint key.
The FindByKey method finds a breakpoint in the collection by its key.
If the breakpoint with specified key is not found, the method returns Null.
Executing the example requires that the repository contains a modeling container with the MODEL_SPACE identifier. This container should include a modeling problem with the PROBLEM identifier that calculates the model with the MODEL identifier. The example uses the MCallback class described in IMsproblemCalculationCallback.OnBreak.
Also, before starting the procedure it is necessary to add links to the Metabase, Ms system assemblies.
Sub Main;
Var
Mb: IMetabase;
ModelSpaceDescr: IMetabaseObjectDescriptor;
Problem: IMsProblem;
CalcSettings: IMsProblemCalculationSettings;
CallBack: MCallback;
Calculation: IMsProblemCalculation;
Breakpoints: IMsBreakpoints;
Breakpoint: IMsBreakpoint;
CalendarBreakpoint: IMsModelCalendarBreakpoint;
Model: IMsModel;
Begin
Mb := MetabaseClass.Active;
ModelSpaceDescr := Mb.ItemById("MODEL_SPACE");
Problem := Mb.ItemByIdNamespace("PROBLEM", ModelSpaceDescr.Key).Edit As IMsProblem;
CalcSettings := Problem.CreateCalculationSettings;
CallBack := New MCallback.Create;
CalcSettings.Callback := CallBack;
CalcSettings.FactIncluded := True;
Calculation := Problem.Calculate(CalcSettings);
Breakpoints := Calculation.Breakpoints;
Breakpoints.Clear;
Breakpoint := Breakpoints.Add(MsBreakpointKind.ModelCalendar);
CalendarBreakpoint := Breakpoint As IMsModelCalendarBreakpoint;
CalendarBreakpoint.Name := "CalendarBreakpoint";
Model := Mb.ItemByIdNamespace("MODEL", ModelSpaceDescr.Key).Edit As IMsModel;
CalendarBreakpoint.Model := Model;
CalendarBreakpoint.CalendarPoint := DateTime.ComposeDay(2012, 01, 01);
Calculation.Run;
Breakpoint := Breakpoints.FindByKey(0);
If Breakpoint <> Null Then
Breakpoint.Enable := False;
End If;
Calculation.Resume;
End Sub Main;
After executing the example the breakpoint that is triggered if the MODEL model is calculated for 01.01.2012, is set for the problem. The problem calculation is started. Then, if a point with the key 0 is found, it is deactivated.
See also: