Содержание
Рассмотрим пример открытия переменной для редактирования в интерфейсе контейнера моделирования.
В репозитории предполагается наличие контейнера моделирования с идентификатором «MS», содержащего переменную моделирования с идентификатором «VARIABLE».
Добавьте ссылки на системные сборки: Metabase, Ui. Для примера Fore.NET добавьте ссылку на системную сборку Fore.
Sub OpenVariable;
Var
Mb: IMetabase;
ObjDes: IMetabaseObjectDescriptor;
Target: IUiCommandTarget;
Begin
MB := MetabaseClass.Active;
// Получаем переменную моделирования
ObjDes := MB.ItemByIdNamespace("VARIABLE", MB.GetObjectKeyById("MS"));
// Получаем объект для выполнения действий над переменной
Target := WinApplication.Instance.GetObjectTarget(ObjDes);
// Открываем переменную моделирования для редактирования
Target.Execute("Object.Edit", Null);
End Sub OpenVariable;
Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.Ui;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
ObjDes: IMetabaseObjectDescriptor;
RunContext: ForeRuntimeContext;
WinApp: WinApplicationClassClass = New WinApplicationClassClass();
Target: IUiCommandTarget;
Begin
MB := Params.Metabase;
// Получаем переменную моделирования
ObjDes := MB.ItemByIdNamespace["VARIABLE", MB.GetObjectKeyById("MS")];
// Получаем объект для выполнения действий над переменной
RunContext := (MB As IForeServices).GetRuntime().Context;
Target := WinApp.Instance[RunContext].GetObjectTarget(ObjDes);
// Открываем переменную моделирования для редактирования
Target.Execute("Object.Edit", Null, RunContext);
End Sub;
Переменная «VARIABLE» будет открыта для редактирования в интерфейсе контейнера моделирования.
См. также: