在过去的 3 年里,我一直在兴趣/职业层面上学习 Delphi。我很高兴地说,我现在已经进步到可以带着恐惧和尴尬回顾我早期的代码了。所以我现在正在浏览我的一些早期应用程序并重写/重构它们。
我试图摆脱的一个坏习惯是从另一个单元访问一个表单上的组件。为了实现这一点,我一直在尝试使用框架作为信息隐藏的方法。因此,我没有创建一个带有组件的表单,而是创建一个框架来保存所有表单组件,然后将框架放置在表单上,将框架声明移动到私有声明中,
type
TMyForm = class(TForm)
private
MyFrame: TMyFrame;
procedure SetTimeDate(const Value: TMyItem);
function ReadTimeDate:TMyItem ;
然后在表单初始化部分注册框架
initialization
begin
RegisterClasses([TMyFrame])
然后我在表单单元的公共部分声明我需要的属性,它可以访问框架及其组件。
public
property TimeDate: TOverlayItem read ReadTimeDate write SetTimeDate;
我还使用框架来合并经常重复的组件组。
这似乎适用于我想要的目的(隐藏 Myframe 及其组件),但是其他人有这种方法的经验吗?
使用框架有什么缺点吗?我真的从这样做中获得任何好处吗?在框架内使用嵌套框架有什么问题吗?在 Delphi 中使用框架是否有任何好的实践指南?关于隐藏在 Delphi 中的 GUI 信息,是否有更好/更简单的方法来实现相同的效果?
血红蛋白