FindByKey(BreakpointKey: Integer): IMsBreakpoint;
BreakpointKey. Breakpoint key.
The FindByKey method searches for 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 a model with the MODEL identifier. The example uses the MCallback class described in IMsProblemCalculationCallback.OnBreak.
Add links to the Metabase and Ms system assemblies.
Sub UserProc;
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;
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 0 key is found, it is deactivated.
See also: