我写了个程序,在MDI子窗体中,调用另外一个MDI子窗体,并且通过dbgrid的dbclick事件向调用它的MDI窗体返回一个值,可是在返回时会出现一个致命的错误。请各位大哥看看到底是怎么回事呀!
-------
调用窗体:以下测试了booknum的返回值是正常的!
procedure Tbooklog.BitBtn2Click(Sender: TObject);
begin
inherited;
mainform.N60.Click ;
end;
被调用窗体:
procedure Tbookchoose.DBGrid1DblClick(Sender: TObject);
var
booknum:string;
begin
booknum:=dbgrid1.Fields[1].AsString ;
showmessage(''+booknum+'');
booklog.dbedit2.Text :=booknum;
bookchoose.Close ;
end;
--------
mainform.N60.click的代码:
procedure TMainForm.N60Click(Sender: TObject);
var
newform:Tbookchoose;
begin
if findform('图书查询')=false then
begin
newform:=Tbookchoose.Create(application);
newform.Caption :='图书查询';
end;
end;
-------
调用窗体:以下测试了booknum的返回值是正常的!
procedure Tbooklog.BitBtn2Click(Sender: TObject);
begin
inherited;
mainform.N60.Click ;
end;
被调用窗体:
procedure Tbookchoose.DBGrid1DblClick(Sender: TObject);
var
booknum:string;
begin
booknum:=dbgrid1.Fields[1].AsString ;
showmessage(''+booknum+'');
booklog.dbedit2.Text :=booknum;
bookchoose.Close ;
end;
--------
mainform.N60.click的代码:
procedure TMainForm.N60Click(Sender: TObject);
var
newform:Tbookchoose;
begin
if findform('图书查询')=false then
begin
newform:=Tbookchoose.Create(application);
newform.Caption :='图书查询';
end;
end;
---------------------------------------------------------
这个要声明为公共函数才能被其他模块所调用吗?,我只是在USES的后面加上了这个bookchoose的单元!大哥能解释一下吗?