每隔一段时间,当我调整我的 TFrame 类(添加属性、方法等)时,IDE 就会感到困惑并表现得好像它认为框架是一个表单,包含标题/标题、边框等。然而,很明显该类被声明为 TFrame 后代。关于导致这种情况的原因,如何预防以及如何解决的任何想法?
我正在使用 Delphi 2007 Pro。另请注意(如果重要的话),TFrame 后代通常通过设计时包在 IDE 中注册(即在调色板上)。
后来:附加“细节”:我目前遇到这个问题的框架在视觉上是一个非常基本的 TFrame(从全新的 TFrame 改变的只是大小和背景颜色)。
这是它的类声明:
TBasePanel = class(TFrame)
private
FPanelManager: TPanelManager;
procedure SetPanelManager(const Value: TPanelManager);
protected
procedure Connect; virtual; abstract;
procedure Disconnect; virtual; abstract;
procedure Refresh; virtual;
procedure Requery; virtual; abstract;
published
property PanelManager: TPanelManager read FPanelManager write
SetPanelManager;
这个框架被用作许多其他框架的基类。我通常直接从它所属的 BPL 项目编辑它(因为所有这些框架都安装到调色板),而不是作为 EXE 项目的一部分,打开相关的表单等。
此外,在“工具”->“选项”中选中“嵌入式设计器”。
我也将所有 DFM 文件保存为文本而不是二进制文件(如果这很重要的话)。