Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我将MATLAB项目部署到DLL中,从C ++中调用它,并且效果很好。快乐的时光。
但是,当用户要求取消操作时会发生什么? 我尝试创建一个名为UserAborted的global变量。在MATLAB中运行long函数之前,我将其初始化为0。我还编写了以下两个函数: function AbortIfUserRequested global UserAborted if (UserAborted == 1) error('User Abort'); end end function UserAbortLongFunction global UserAborted UserAborted = 1; end 我在long函数的循环的每次迭代中都调用AbortIfUserRequested 。我还导出了UserAbortLongFunction 。 我期望在调用UserAbortLongFunction之后不久,长函数将到达对AbortIfUserRequested的调用,并引发错误。 相反,长功能继续工作,直到结束, 然后才做的价值UserAborted得到改变。 我只想在用户要求我时中止该长功能!有什么办法吗? 回答: Matlab需要提供回调函数来显示执行进度并可能将其暂停。 Google搜索显示很多人都希望这样做,但Mathworks没有实现。 更多&回答... |
![]() |
![]() |