对话框上有四个button,分别为:Button_Start1、Button_End1、Button_Start2、Button_End2。
又添加了10个复选框对应十个函数,每个函数对应不同的功能。
运行后,勾上哪些复选框,当我点击Button_Start1的时候,我勾上的复选框对应的函数就会顺序运行;--已经实现
当我点击Button_End1的时候,就停止目前正在运行的函数且返回(也就是停止运行当前函数且不再运行虽然被选中但未运行的函数)--还没实现
当我点击Button_Start2的时候,我勾上的复选框对应的函数就会并发执行,(通过并发线程的形式实现);--已经实现
当我点击Button_End2的时候,就停止目前正在并发的函数运行并返回。--还没实现
我想问一下怎么才能实现上述两种停止啊?
说白了就是如何实现点击停止button的时候停止当前运行的函数并返回。
谢谢了!

解决方案 »

  1.   

    不知道采用全局变量,false/true实现可以不,每个函数都设置一个BOOL变量,用if判断实现继续运行还是结束函数,等高手来回答
      

  2.   

    这个方法我想过,不行啊,运行的时候,你根本就不知道运行到哪个函数了,就算这个有办法知道,也不知道这个函数运行到哪个语句了,所以这个BOOL变量定义在什么位置就是个难题。
      

  3.   

    这个...结束函数或线程运行基本上都是靠条件去判断吧,具体情况具体分析。毕竟也没人知道楼主的函数是干什么的。==========从设计上提一个建议,就是start键和end键应该互斥,就是只有一个是可点击状态,点完start按钮后它就变为不可用,end键可用,反之亦然 。
      

  4.   

    互斥这个已经实现,当点击一个button的时候set另一个按钮为flase就行了,但是问题是按钮只是表象,按钮灰了不代表函数不在运行,按钮灰了,函数一样继续运行啊
      

  5.   


    函数怎么可能无法结束?用线程,大不了直接 TerminateThread 线程!