Справочные файлы Minitab оказывают поддержку на этом предмете ограниченно, и все примеры находятся в VB. Я плохо знаком с.NET, но я беру ее довольно быстро. Что-то в синтаксисе для команды.
Они обеспечивают этот пример в VB:
Dim MtbApp As New mtb.Application
Dim MtbProj As mtb.Project
Dim MtbCom As mtb.Command
Dim i, j As Integer
MtbApp.UserInterface.Visible = True
Set MtbProj = MtbApp.ActiveProject
MtbProj.ExecuteCommand "RANDOM 30 C1 - C2"
MtbProj.ExecuteCommand "REGRESS C1 1 C2"
и мой код похож на это в C#
var MtbApp = new Mtb.Application();
var MtbProj = new Mtb.Project();
MtbProj = MtbApp.ActiveProject;
MtbApp.UserInterface.Visible = true;
MtbProj.ExecuteCommand(<command>);
то, что я ожидаю, должно произойти, Minitab, должен открыться, и команда должна выполниться. Однако то, что происходит, - то, что два экземпляра Minitab открываются, и ни один не показывает пользовательский интерфейс, я должен найти их в процессах.
Если вы добавили ссылку на Minitab COM, это должно помочь вам начать:
Mtb.Application MtbApp = null;
Mtb.Project MtbProj = null;
Mtb.UserInterface MtbUI = null;
MtbApp = new Mtb.Application();
MtbProj = MtbApp.ActiveProject;
MtbUI = MtbApp.UserInterface;
MtbUI.Visible = true;
MtbProj.ExecuteCommand("RANDOM 30 C1-C2", Type.Missing); //with C# optional params required
MtbApp.Quit();
Marshal.ReleaseComObject(MtbUI); MtbUI = null;
Marshal.ReleaseComObject(MtbProj); MtbProj = null;
Marshal.ReleaseComObject(MtbApp); MtbApp = null;
Использование COM-объектов для C # может быть сложной задачей. Особенно с их отпусканием, когда вы закончите.
Помните, как правило, никогда не удваивайтесь. Не делайте:
MtbApp.UserInterface.Visible = true;
Вместо этого:
Mtb.UserInterface MtbUI = null;
MtbUI = MtbApp.UserInterface;
MtbUI.Visible = true;
Итак, объект MtbUI можно освободить позже.