IMsProblemCalculation.PointCount

Синтаксис

PointCount: Integer;

Описание

Свойство PointCount возвращает общее количество шагов, которые будут пройдены при расчете задачи в контейнере моделирования. Свойство зависит от количества объектов, участвующих в расчете.

Пример

Public Class MCallback: Object, IMsProblemCalculationCallback

Public Calculation: IMsProblemCalculation;

 

Public Sub OnError(Message: String);

Begin

Debug.WriteLine(Message);

End Sub OnError;

 

Public Sub OnFinish;

Begin

Debug.WriteLine("Расчет задачи завершен");

Calculation := Null;

End Sub OnFinish;

 

Public Sub OnMessage(Message: String);

Begin

Debug.Write(DateTime.Now);

Debug.WriteLine(": " + Message);

End Sub OnMessage;

 

Public Sub OnModelCalculation(Model: IMsModel);

Begin

Debug.WriteLine("Расчет модели: " + (Model As IMetabaseObject).Id);

End Sub OnModelCalculation;

 

Public Sub OnStep;

Begin

Debug.WriteLine("Выполнено шагов: " + Calculation.PointPassed.ToString + " из " + Calculation.PointCount.ToString);

End Sub OnStep;

End Class MCallback;

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

Problem: IMsProblem;

CallBack: MCallback;

CalcSett: IMsProblemCalculationSettings;

Calculation: IMsProblemCalculation;

Begin

MB := MetabaseClass.Active;

MObj := MB.ItemByIdNamespace("PROBLEM_1", MB.ItemById("KONT_MODEL").Key).Edit;

Problem := MObj As IMsProblem;

CallBack := New MCallback.Create;

CalcSett := Problem.CreateCalculationSettings;

CalcSett.Callback := CallBack;

Calculation := Problem.Calculate(CalcSett);

CallBack.Calculation := Calculation;

Calculation.Run;

MObj.Save;

End Sub Main;

После выполнения примера будет осуществлен расчет задачи с идентификатором "PROBLEM_1". Для отслеживания событий, происходящих во время расчета, используется объект пользовательского класса "MCallback". При отработке события OnStep в консоль будет выводиться количество пройденных шагов расчета.

См. также:

IMsProblemCalculation