如何退出Forcal运行

来源:互联网 发布:东华大学网络教育电话 编辑:程序博客网 时间:2024/04/28 03:48

如何退出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运行时的无限循环。

原创粉丝点击