我有一主窗体,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); 的确是可以,但是查询过程中,窗体会死掉一样,那样用多另外一个线程也没什么意义了,不知道如何解决。谢谢
一个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); 的确是可以,但是查询过程中,窗体会死掉一样,那样用多另外一个线程也没什么意义了,不知道如何解决。谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货