偶尔翻Marco Canto的书,看到这个小技巧,记下来,老是忘记这个小技巧。
比如要访问TDBGrid的Col和Row属性,这两个属性是Protected,一般不能直接访问,可以这样加个套:
type
TFakeDBGrid = class(TDBGrid);
然后:TFakeDBGrid(dbgrid1).Col; TFakeDBGrid(dbgrid1).Row;
还有TControl的Text属性,大部分控件隐藏了或者改名为Caption
type
TFakeControl = class(TControl);
TFakeControl(Button1).Text;
不过这样做,明显破坏了对象的封装,尽量少用。
注意:在哪个单元用,就得在那个单元声明TFake,才能访问保护属性,这是利用了DELPHI对于private和protected对于同单元可见特性。
但是现在版本有strict private和strict protected ,那就无能为力了。