gpt4 book ai didi

Delphi IDE 将 TFrame 视为表单

转载 作者:行者123 更新时间:2023-12-03 14:59:13 25 4
gpt4 key购买 nike

每隔一段时间,当我调整 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 文件保存为文本而不是二进制(如果这很重要的话)。

最佳答案

我也遇到了同样的问题。以下步骤解决了我们的问题,它可能也适合您:

  1. 在 IDE 中:关闭所有使用该框架的表单
  2. 打开框架,以文本形式查看 (*.dfm)
  3. dfm 可能以对象 MyFrame: TMyFrameClass 开头
  4. 将其更改为继承的 MyFrame:TMyFrameClass

我不知道是什么导致了这个问题。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com