用delphi实现这样一个程序:
1。一个时间钟A不停的去查询数据库的某个表。查找这个表的某个字段为0的记录。
2。如果这个字段为0,在用另外一个时间钟B去执行一段固定的代码。
3。如果人工不去干扰的话,另外一个时间钟不停的执行那段固定的代码。
4。如果人工干扰的话,将字段变为1,则时间钟B停止执行。现在的问题是用时间钟去实现的话,窗体都死掉了,人工不能去干扰。想用线程来实现,但是线程不是很熟悉,有熟悉的朋友请帮忙!

解决方案 »

  1.   

    从TThread派生你自己的线程类并override基类的Execute函数,具体看看帮助吧。
    to:yrb()
    你怎么每次都比我快一脚?
      

  2.   

    >>现在的问题是用时间钟去实现的话,窗体都死掉了,人工不能去干扰。
    时钟间隔不要太短,长点,至少要比一个查询周期长,
    而且, 用大概如下的方法来执行一个timerXXX.onTime
    bggin
      XXX.enabled := false;
      执行你的查询或其他;
      XXX.enabled := true;
    end;
    XXX 指timer, 防止反复执行
      

  3.   

    也可以在另外一个时钟的事件里加上application.processmessages,让系统可以处理别的请求