问题是这样的 我做了一个小程序 把 adoconnection放到了主窗体 连接的是access数据库;
新建了一个子窗体继承自FBase 新建了一个pubulic方法 qrySearch 实现了打开表;
formCreate调用了qrySearch方法 ;

public procedure qrySearch(cLiuShui: string = '-1'); { Public declarations } end; var FRuKuDan: TFRuKuDan; implementation uses UFMain, UPubFunction, UFRuKuDanliulan; {$R *.dfm} /// <summary> /// 打开qry /// </summary> /// <param name="cLiuShui">流水号</param> procedure TFRuKuDan.qrySearch(cLiuShui: string); var s: string; begin s := 'select * from 入库信息 where 入库流水号 = ' + quotedstr(cLiuShui); doquery(qry, s);//这个地方封装了那四句话 end; procedure TFRuKuDan.FormCreate(Sender: TObject); begin inherited; qrySearch; end;
登录程序 打开子窗体后 直接关程序就出这个错了
真是百思不得其姐姐--!
最后发现 要在基类这么做 (当然在该子窗体这么做也可以)
可解决问题
but Why?????(非公用方法不出这个问题)