给你一个例子,希望有帮助
  QuerThrd.Pas  unitQuerThrd;  interface  uses  Classes,DBTables;  type  TQueryThreadΚclass(TThread)  private  fQuery:tQuery;  protected  procedureExecute;override;  public  constructorCreate(Suspended:Boolean;Query:
TQuery);  end;  implementation  constructor  TQueryThread.Create(Suspended:Boolean;Quer
y:TQuery);  begin  inheritedCreate(Suspended);  fQuery:ΚQuery;  FreeOnTerminate:ΚTrue;  end;  procedureTQueryThread.Execute;  begin  fQuery.Open;  end;  end.  在上面这个简单的例子中,我们构造了一个TThread的子类TQueryThread,用于在后台执行数据库查询。在该类的Create函数中,传递了两个参数Suspended和Query
,其中Suspended用于控制线程的运行,如果Suspend为真,TQueryThread类的线程在建立后将立即被悬挂,一直到运行了Resume方法,该线程才会继续执行,Query参数用于接受一个已经存在的Query控件(在窗体中真正的Query控件)而使它在多线程的情况下运行。Execute是最重要的过程,它是类TQueryThread的执行部分,所有需要在这个多线程类中运行的语句都必须写在这个过程里。