每当我调整我的TFrame类(添加属性,方法等)时,IDE就会感到困惑,并且表现得好像它认为框架是一个表单,包括标题/标题,边框等等.但是,很明显该类被声明为TFrame后代.关于是什么原因,如何预防,以及如何解决的任何想法?
我正在使用Delphi 2007专业版.另请注意(如果重要),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文件保存为文本而不是二进制(如果这很重要).
我遇到了同样的问题.以下步骤为我们解决了问题,它也可能对您有用:
在IDE中:关闭所有使用该框架的表单
打开框架,以文本形式查看(*.dfm)
dfm可能以对象MyFrame:TMyFrameClass开头
将此更改为继承的MyFrame:TMyFrameClass
我不知道是什么原因导致了这个问题.