创建图形时模块控制台显示
WaitForFiguresToDie 方法
MATLAB® Compiler SDK™ 产品向其创建的每个 .NET 类添加了一个 WaitForFiguresToDie
方法。
WaitForFiguresToDie
的目的是只要显示在封装的 MATLAB 代码中创建的图形,就会模块调用程序的执行。通常在以下情况下使用 WaitForFiguresToDie
:
有一个或多个打开的图形是由 MATLAB Compiler SDK 产品创建的 .NET 程序集创建的。
显示图形的方法需要用户输入才能继续。
调用图形的方法是从控制台程序中的
main()
调用的。
调用 WaitForFiguresToDie
时,如果调用对象创建的任何图形保持打开状态,则调用程序的执行将被阻止。
WaitForFiguresToDie
不接受任何参量。您的应用程序可以在执行期间随时调用 WaitForFiguresToDie
。
提示
尽可能考虑使用 console.readline
方法,因为它以标准化方式完成了大部分功能。
小心
从交互式程序调用 WaitForFiguresToDie
可能会导致应用程序停止响应。此方法仅应从基于控制台的程序调用。
使用 WaitForFiguresToDie 模块执行
以下示例说明如何在 .NET 应用程序中使用 WaitForFiguresToDie
。该示例使用由 MATLAB Compiler SDK 产品创建的 .NET 程序集。该组件封装了绘制简单绘图的 MATLAB 代码。
为您的源代码创建一个工作文件夹。在此示例中,该文件夹为
D:\work\plotdemo
。在此文件夹中,创建以下名为
drawplot.m
的 MATLAB 文件:function drawplot() plot(1:10);
使用以下信息,使用 .NET 程序集编译器或
compiler.build.dotNETAssembly
构建 .NET 组件:字段 值 库名称 Figure
类名 Plotter
要编译的文件 drawplot.m
例如,如果您使用的是
compiler.build.dotNETAssembly
,请输入:buildResults = compiler.build.dotNETAssembly('drawplot.m', ... 'AssemblyName','Figure', ... 'ClassName','Plotter');
有关详细信息,请参阅生成 .NET 程序集并编译 .NET 应用程序中的说明。
在 Visual Studio® 中,创建一个 C# Console App (.NET Framework)。将生成的源代码替换为以下代码:
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); } } } }
添加对生成的程序集文件
Figure.dll
的引用。编译并运行该应用程序。
该程序在 MATLAB 图形窗口中显示从 1 到 10 的图。当您关闭图形时,应用程序结束。
注意
要查看在没有调用
WaitForFiguresToDie
的情况下会发生什么,注释掉该调用,重建应用程序并运行它。在这种情况下,图形被绘制出来并在应用程序退出时立即被销毁。