Delphi 中默认的继承方式应该是Public 吧 ?
可是 我把一个控件的基类 里面的一个Private方法放到了Public里面 为什么在其子类里面不能访问到呢?procedure SetColWidths(Index: Longint; Value: Integer); 该方法 是TCustomGrid 的一个Private过程 我把它放到了PUblic 里面 可是在TStringGrid;对象为什么不能访问到它。
请高手指教? TCustomGrid
|
TCustomDrawGrid
|
TCustomDrawGrid;
|
TDrawGrid;
|
TStringGrid;
可是 我把一个控件的基类 里面的一个Private方法放到了Public里面 为什么在其子类里面不能访问到呢?procedure SetColWidths(Index: Longint; Value: Integer); 该方法 是TCustomGrid 的一个Private过程 我把它放到了PUblic 里面 可是在TStringGrid;对象为什么不能访问到它。
请高手指教? TCustomGrid
|
TCustomDrawGrid
|
TCustomDrawGrid;
|
TDrawGrid;
|
TStringGrid;
解决方案 »
- 图片存取
- 请问大家,谁有DELPHI控件DSCN的注册码啊?感激不尽!
- 关于DELPHI连接SQL SERVER数据库的问题!!!急,急,急!!!
- 多表查询,单表更新难题,高分求助!
- ^p的作用是什么?
- 求救word文件存入数据库中 用的TBlobField 在uses 用到什么?
- Save me!!!!!!!谁能够用ADO把下面文本完整读出来我给他二百分
- 变量的DEFINE
- 请问如何在Delphi中使得用mainmenu制作的菜单项menuitem可控制字体,颜色和大小等?
- 熟悉网络编程的高人请帮助我!!
- 如何让edit里只能输入数字
- 会VC的老大帮我看看这个应该怎么翻译成Delphi的代码!!顶者有分!
比如你更改了TStringGrid控件,该控件所在的unit是 Grids.pas,如果你想使用更改后的TStringGrid的话,必须重新编译该文件(Grids.pas),并把编译的结果:Grids.dcu覆盖原来delphi的Grids.dcu。
一般并不建议这么做。最好的办法是重新写一个控件,该控件从TCustomGrid继承,该控件写代码的时候完全照抄TStringGrid,所不同的是在写的时候把你要放到private中的语句放到private中,最后安装该控件。这样即不改源代码,又实现了你需要的功能。
当然,如果改源代码,也是一种选择。只不过要重新编译了。
编译的方法是:
到Grids.pas文件复制到某个目录中,然后将program files\borland\delphi5\lib目录下所有的dcu文件复制到该目录下,删除Grids.dcu文件,最后将program files\borland\delphi\bin目录下的dcc32.exe文件复制到该目录下,然后执行:
dcc32 grids.pas
系统就会生成新的grids.dcu,最后将该dcu复制到program files\borland\delphi\lib下以及该目录的debug目录下,就能凑合着用了。
注: 我没有做最终实验。因此具体情况还要你自己尝试。