如果你在进程中用循环的话,只能终止,无法暂停,不过有个办法,就是不停的continue来模拟循环暂停,但是这样会很占用CPU资源的,例子如下:
while ..do
begin
if NeedResume then
Continue;
//下面再写你的处理代码]
end;
这样只要NeedResume等于真,就会在循环里面死循环下去,但是不执行任何代码.这只能当作一个权宜之计,而且我也不建议你用这样的设计.
我给你的建议就是使用线程,线程在执行过程中可以随时暂停,随时恢复,暂停的时候CPU是不会分配时间给线程的,所以这是最好的办法.
http://www.2ccc.com/article.asp?articleid=3740
这里有一个例子,在线程中搜索文件,其中就有功能能让搜索暂停和恢复,这个你可以借鉴.有关这个例子的详细讲解,在这里:
一个用 Observer 模式实现的 Thread 线程文件搜索例子(上): http://blog.sina.com.cn/u/5591c079010005pq
一个用 Observer 模式实现的 Thread 线程文件搜索例子(下): http://blog.sina.com.cn/u/5591c079010005pr