本人ADO连接做了一个前台的单据,与sql 2000相连。用了这样一段代码。
  if dxPageControl1.ActivePage=dxTabSheet4  then
    begin
      id:=1;
      DBGridEh1.DataSource:=nil;
      DBGridEh2.DataSource:=nil;
      DBGridEh3.DataSource:=nil;
      DBGridEh4.DataSource:=dmrep_gathering_detail_analyze.dsrep_gathering_detail_analyze;
      pdg.DBGridEh:=DBGridEh4;
    end
  else if dxPageControl1.ActivePage=dxTabSheet1  then
    begin
      id:=2;
      DBGridEh1.DataSource:=dmrep_gathering_detail_analyze.dsrep_gathering_detail_analyze;
      DBGridEh2.DataSource:=nil;
      DBGridEh3.DataSource:=nil;
      DBGridEh4.DataSource:=nil;
      pdg.DBGridEh:=DBGridEh1;
    end
  else if dxPageControl1.ActivePage=dxTabSheet2  then
    begin
      id:=3;
      DBGridEh1.DataSource:=nil;
      DBGridEh2.DataSource:=dmrep_gathering_detail_analyze.dsrep_gathering_detail_analyze;
      DBGridEh3.DataSource:=nil;
      DBGridEh4.DataSource:=nil;
      pdg.DBGridEh:=DBGridEh2;
    end
  else if dxPageControl1.ActivePage=dxTabSheet3  then
    begin
      id:=4;
      DBGridEh1.DataSource:=nil;
      DBGridEh2.DataSource:=nil;
      DBGridEh3.DataSource:=dmrep_gathering_detail_analyze.dsrep_gathering_detail_analyze;
      DBGridEh4.DataSource:=nil;
      pdg.DBGridEh:=DBGridEh3;
    end ;
当它反复第二次执行时却出现地址端口错语。我个人认为可能是DBGridEh类的控件先是nil值,然后给它赋值的原因。但是,原来只有少一个DBGridEh却不会出现这种地址端口错语。请教各位,在BGridEh控件中当它的DBGridEh.DataSource为空时,用什么可以代替这个nil值。什么原因出现这种地址端口的错误。