在偶尔调整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项目的一部分,并且打开了相关的Forms等。

另外,在“工具”->“选项”中选中了“嵌入式设计器”。

我将所有DFM文件另存为文本而不是二进制文件(如果这很重要)。

最佳答案

我遇到了同样的问题。以下步骤为我们解决了该问题,它可能也对您有用:

IDE中的

  • :关闭所有使用框架
  • 的表单
  • 打开框架,以文本(* .dfm)格式查看
  • dfm可能始于对象MyFrame:TMyFrameClass
  • 将此更改为继承的MyFrame:TMyFrameClass

  • 我不知道是什么原因造成的。

    关于delphi - Delphi IDE将TFrame视为窗体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/589523/

    10-13 04:26