Delphi IDE将TFrame视为Form

前端之家收集整理的这篇文章主要介绍了Delphi IDE将TFrame视为Form前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
每当我调整我的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

我不知道是什么原因导致了这个问题.

猜你在找的Delphi相关文章