delphi 7 mdi子窗体。。。无法更改以命令对象为源的记录集对象的 ActiveConnection 属性。

问题是这样的 我做了一个小程序 把 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;
View Code

登录程序 打开子窗体后 直接关程序就出这个错了 

 

真是百思不得其姐姐--!

最后发现 要在基类这么做 (当然在该子窗体这么做也可以)

可解决问题 

but Why?????(非公用方法不出这个问题)

 

posted @ 2017-04-15 12:02  伪装大牛  阅读(991)  评论(0编辑  收藏  举报