如何退出Forcal运行

如何退出Forcal运行

向其他程序一样,Forcal在运行时,也会出现长时间运行或者陷入无限循环的问题,可通过Forcal的运行错误设置系统退出Forcal运行。

要想中止Forcal运行,程序必须是多线程的(单线程的程序有陷入无限循环的可能)。可在任意的线程中,使用设置FORCAL运行错误的函数SetRunErr(int ErrType,char *FunName,int FunCode,int ForType,void *ForHandle)来退出Forcal运行。在进行设置时,ErrType必须设为非0值。

使用SetRunErr(...)函数并不一定能中止Forcal运行。为了能真正中止Forcal运行,所有可能长时间运行的Forcal函数都必须设有检测到运行错误就退出的机制,即:在一些合适的地方用函数TestRunErr()检测运行错误,一旦检测到错误就马上退出。Forcal内置的函数都做到了这一点。所以,只要外部定义的可能长时间运行的二级函数都能检测到运行错误就退出,就一定能中止Forcal的运行。

有六个函数受到Forcal中断机制的影响,它们是编译表达式的函数IntCom(...)、RealCom(...)、ComplexCom(...)和计算表达式的函数IntCal(...)、RealCal(...)、ComplexCal(...)。在使用这些函数之前,必须保证Forcal的运行错误设置处于无错状态。如果你不能判断是否无错,可以使用GetRunErr(int &ErrType,char *&FunName,int &FunCode,int &ForType,void *&ForHandle)或者SetRunErr(int ErrType,char *FunName,int FunCode,int ForType,void *ForHandle)函数使Forcal处于无错状态。通常,在编译或计算表达式之后,需要用GetRunErr(...)函数检测是否发生了运行错误。Forcal的运行错误只能用GetRunErr(...)或者SetRunErr(...)函数进行清除。

直接加载Forcal扩展动态库QuitFC32.dll退出Forcal运行最简单:在任意可接受输入的窗口,按 Ctrl+Alt+Q(q) 键可以退出Forcal运行时的无限循环。

<!-- START RedMeasure V4 - Java v1.1 Revision: 1.8 --><!-- COPYRIGHT 2000 Red Sheriff Limited --><!-- START check_rs_frame -->

<script></script><script src="/redSheriff/multiframe.js"></script>

<!-- END check_rs_frame -->

<script></script><script></script><script></script><script src="http://server-it.imrworldwide.com/a1.js"></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值