在程序中我用了一个函数把DBGrid中内容写入一个二维的数组中,
函数名称为LoadDBGridData(DBGrid:TDbGrid;var DataCells:StrArr2D);
其中DBGrid参数是一个DBGrid,DataCElls是一个二维数组的参数
现在我的程序中用到TDBGridEH控件,我想不要从新写代码,希望通过重载
的方式来现在代码公用可以吗?如果仅仅加入overload是不对的,我不太了解
LoadDBGridData(DBGrid:TDbGrid;var DataCells:StrArr2D);overload;
如何实现,请高手帮帮忙,谢谢!能否详细的给出方法?最要有一些代码谢谢!!

解决方案 »

  1.   

    LoadDBGridData(DBGridEH:TDbGridEH ;var DataCells:StrArr2D);overload;
    不行?
      

  2.   

    LoadDBGridData(DBGrid:TDbGrid;var DataCells:StrArr2D);overload;
    LoadDBGridData(DBGrid:TDbGridEH;var DataCells:StrArr2D);overload;如果TDBGridEH = class(TDBGrid),就是如果你的TDBGridEH是从TDBGrid中继承来的,不是直接的子类也可以,那么你根本不需要任何改动。因为父类的指针是可以访问子类的(不过反过来就不行了)。我想你需要的是DBGrid.DataSource.DataSet中的数据吧!
    如果是这样的话,你根本就不应该将DBgrid作为参数,而应该使用DataSet作为参数。TDBGrid是属于表现层的,而DataSet才真真是数据层的。
      

  3.   

    谢谢各位!
    to  ColdWolf
     你说的很对,但是我的这些代码都已经大量使用,要更换参数的话,
    工作量很大,所以我才想到用重载的,TDBGridEH是重TDBGrid继承来的
    我先试试先