我在两个form中共用一个ADOConnection,两个form同时可以打开数据库,但是在关闭一个form的时候就报错,并且退出程序。
procedure TFrm1.BtnExitClick(Sender: TObject);
begin
ADODataSet1.Close;
ADODataSet1.Free;
Frm1.Close;
Frm1.Free;
end;
procedure TFrm1.BtnExitClick(Sender: TObject);
begin
ADODataSet1.Close;
ADODataSet1.Free;
Frm1.Close;
Frm1.Free;
end;
begin
if ADODataSet1.Active then
begin
ADODataSet1.Close;
ADODataSet1.Free;
end;
Frm1.Close;
Frm1.Free;
end;
在form1调用form2的时候
Form2 := TForm2.Create(self);
Form2.ADOCnnt := Form1.ADOConnection;
Form2.Show;
在关闭form2的时候出错的
Form2 := TForm2.Create(Application);
Form2.ADOCnnt := Form1.ADOConnection;
Form2.Show;
你自己FREE一下,又没有他置为NIL;FORM CLOSE时又自动FREE一下,于是就出错了.
自己想的,可能不是这个原因.