我有一主窗体,frmmain
一个Showmodal的窗体 frmdetail在frmdetail上有一个查询按钮,和一个dbgrid,还放了adoquery,DataSource,dbgrid连接DataSource.
当我点查询,跳出查询窗体frmquery,输入条件,比如输入姓名 aaa,  try
    frmquery:=Tfrmquery.create(application);
    if frmquery.Showmodal=mrok then
    begin
       openthr.create(frmquery.edit1.text);
    end;  
  finally
    Freeandnil(frmquery);
  end;  openthr的结构大概如下
 Execute中
 StaCYHLB;procedure openthr.StaCYHLB;
var
  sSQL:String;
begin
  With frmdetail.ADOQuery do
  try
    sSQL:='Select * from ViewAllJobs';
    Close;
    SQL.Text:=sSQL;
    Open;
  finally  end;
end; 这样的结构,在查询过程中没有错误,但是查询完毕去关闭 formdetail 的时候,总提示什么窗体句柄问题 ,我跟中代码发现是 Freeandnil(frmquery); 出错,不知道如何解决?我也试过在 
Synchronize(StaCYHLB); 的确是可以,但是查询过程中,窗体会死掉一样,那样用多另外一个线程也没什么意义了,不知道如何解决。谢谢