我将一个 MATLAB 项目部署到一个 DLL 中,以便从 C++ 中调用,它工作得很好。快乐的时光。
但是当用户要求取消操作时会发生什么?
我尝试创建一个global
名为UserAborted
. 在 MATLAB 中运行 long 函数之前,我将其初始化为 0。我还写了以下两个函数:
function AbortIfUserRequested
global UserAborted
if (UserAborted == 1)
error('User Abort');
end
end
function UserAbortLongFunction
global UserAborted
UserAborted = 1;
end
我AbortIfUserRequested
在我的 long 函数的循环的每次迭代中调用。我也导出了UserAbortLongFunction
。
我预计在调用后不久UserAbortLongFunction
,长函数会调用到AbortIfUserRequested
,并抛出错误。
相反,long 函数一直运行到最后,然后UserAborted
才会更改 get的值。
我要做的就是在用户要求我时中止那个长功能!有没有办法做到这一点?