这是主Form中调用子Form的代码
procedure TFormUser.N_search_uClick(Sender: TObject);
begin
FormQuery := TFormQuery.Create(Application);
try
FormQuery.ShowModal;
finally
FormQuery.Free;
endend;
这是子form中button的代码
procedure TFormQuery.Button_searchClick(Sender: TObject);
var
query_project1, query_condition1, query_input1 : string;
query_project2, query_condition2, query_input2 : string;
begin SQL_select := 'select * from user_t ';
SQL_select := SQL_select + 'where ';
SQL_select := SQL_select + query_project1 + query_condition1 ;
SQL_select := SQL_select + query_input1; //调用FormUser中的查询函数
FormUser.QueryUser(SQL_select); FormQuery.Hide;
FormQuery.Free;end;
procedure TFormUser.N_search_uClick(Sender: TObject);
begin
FormQuery := TFormQuery.Create(Application);
try
FormQuery.ShowModal;
finally
FormQuery.Free;
endend;
这是子form中button的代码
procedure TFormQuery.Button_searchClick(Sender: TObject);
var
query_project1, query_condition1, query_input1 : string;
query_project2, query_condition2, query_input2 : string;
begin SQL_select := 'select * from user_t ';
SQL_select := SQL_select + 'where ';
SQL_select := SQL_select + query_project1 + query_condition1 ;
SQL_select := SQL_select + query_input1; //调用FormUser中的查询函数
FormUser.QueryUser(SQL_select); FormQuery.Hide;
FormQuery.Free;end;
你不如设置一个全局字符串变量,在查询窗体中给字符串赋值;
主窗体调用查询窗体(showmodal)后,等待查询窗体的关闭,
关闭后,在主窗体中根据全局字符串进行查询。另外还可以设置一个全局布尔变量:当其值为True时,表示查询窗体中用户单击了”确定“按钮;为False时,表示用户单击了”取消“按钮。这样在主窗体中首先检测该布尔变量的值是否为
True,若是,则进行查询;否则不查询。
该布尔变量是在查询窗体中被赋值的。
否则 ShowModal 不会返回,那么主窗口也就不能得到焦点了