exponenta event banner

Отображение консоли блока при создании фигур

Метод WaitForForToDie

Продукт MATLAB ® Compiler SDK™ добавляет WaitForFiguresToDie для каждого создаваемого им класса .NET. WaitForFiguresToDie не принимает аргументы. Ваше приложение может звонить WaitForFiguresToDie в любое время во время выполнения.

Цель WaitForFiguresToDie является блокированием выполнения вызывающей программы до тех пор, пока отображаются фигуры, созданные в инкапсулированном коде MATLAB. Как правило, используется WaitForFiguresToDie когда:

  • Открыта одна или несколько фигур, созданных сборкой .NET, созданной продуктом MATLAB Compiler SDK.

  • Метод, отображающий графику, требует ввода данных пользователем перед продолжением.

  • Метод, вызывающий фигуры, был вызван из main() в консольной программе.

Когда WaitForFiguresToDie вызывается, выполнение вызывающей программы блокируется, если какие-либо фигуры, созданные вызывающим объектом, остаются открытыми.

Совет

Рассмотрите возможность использования console.readline способ, когда это возможно, так как он выполняет большую часть этой функциональности стандартизированным образом.

Внимание

Будьте осторожны при вызове WaitForFiguresToDie способ. Вызов этого метода из интерактивной программы может заставить приложение перестать отвечать. Этот метод следует вызывать только из консольных программ.

Использование WaitForForToDie для блокировки выполнения

Следующий пример иллюстрирует использование WaitForFiguresToDie из приложения .NET. В примере используется сборка .NET, созданная продуктом MATLAB Compiler SDK; объект инкапсулирует код MATLAB, который рисует простой график.

  1. Создайте рабочую папку для исходного кода. В этом примере папка D:\work\plotdemo.

  2. В этой папке создайте следующий файл MATLAB:

    drawplot.m
    
    function drawplot()
        plot(1:10);
    
  3. Используйте MATLAB Compiler SDK для создания сборки .NET со следующими свойствами:

    Наименование сборкиFigure
    Имя классаPlotter
  4. Создание .NET-программы в файле с именем runplot со следующим кодом:

    using Figure.Plotter;
    
    public class Main 
    {
      public static void main(String[] args) 
      {
        try
        {
          plotter p = new Plotter();
          try 
          {
            p.drawplot();
            p.WaitForFiguresToDie();
          }
          catch (Exception e)
          {
            console.writeline(e);
          }
        }
      }
    }
  5. Скомпилировать приложение.

    При запуске приложения в окне рисунка MATLAB отображается график от 1 до 10. Приложение завершается при закрытии фигуры.

    Примечание

    Чтобы увидеть, что происходит без вызова WaitForFiguresToDie, прокомментировать вызов, перестроить приложение и запустить его. В этом случае рисунок рисуется и сразу же уничтожается по мере выхода приложения.