首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Delphi将TFrame视为一种形式

Delphi将TFrame视为一种形式
EN

Stack Overflow用户
提问于 2009-02-26 07:31:37
回答 5查看 3.9K关注 0票数 6

每隔一段时间,当我调整我的TFrame类(添加属性、方法等)时,IDE就会感到困惑,并认为框架是一个表单,并带有标题/标题、边框等。然而,显然该类被声明为TFrame后代。对于造成这种情况的原因,如何预防,以及如何解决,有什么想法吗?

我正在使用Delphi 2007 Pro。还要注意(如果重要的话),TFrame后代通常通过设计时包在IDE中注册(即在调色板上)。

稍后:额外的“细节”:目前我遇到这个问题的框架是一个非常基本的TFrame (与全新的TFrame不同的是尺寸和背景色)。

下面是它的类声明:

代码语言:javascript
运行
复制
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项目的一部分,打开相关表单等等。

此外,“嵌入式设计器”在Tools ->选项中签入。

我将所有DFM文件保存为文本,而不是二进制文件(如果有关系的话)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-26 08:31:49

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

在IDE中关闭所有使用框架的窗体,打开框架,以文本形式查看( TMyFrameClass

  • change )

  • dfm可能以对象MyFrame::
  1. 到继承的MyFrame: TMyFrameClass

开头

我不知道是什么引起了这个问题。

票数 8
EN

Stack Overflow用户

发布于 2009-02-26 08:10:36

也许您没有选中“嵌入式设计器”复选框?(“工具”、“选项”、“环境选项”、“环境选项”、“VCL设计器”)。然后,实际上,您的框架将在设计时显示为表单(带有标题、边框等)。另外,有问题的TFrame后代的具体代码或更多关于您的案例的详细信息也会有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2009-02-26 07:52:01

据我所知,编辑框架时,必须在编辑器中同时打开窗体和框架。否则可能会出现更新问题。虽然我还没见过这个。

但是我很久以前就放弃了帧,因为我发现它们不太可靠。

现在,我只将它们用于原型开发,创建一个自定义组件(派生自一个面板,其中包含有相应控件的面板)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/589523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档