每隔一段时间,当我调整我的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项目的一部分,打开相关表单等等。
此外,“嵌入式设计器”在Tools ->选项中签入。
我将所有DFM文件保存为文本,而不是二进制文件(如果有关系的话)。
发布于 2009-02-26 08:31:49
我也遇到过同样的问题。以下步骤为我们解决了这个问题,也可能对您有用:
在IDE中关闭所有使用框架的窗体,打开框架,以文本形式查看( TMyFrameClass
开头
我不知道是什么引起了这个问题。
发布于 2009-02-26 08:10:36
也许您没有选中“嵌入式设计器”复选框?(“工具”、“选项”、“环境选项”、“环境选项”、“VCL设计器”)。然后,实际上,您的框架将在设计时显示为表单(带有标题、边框等)。另外,有问题的TFrame后代的具体代码或更多关于您的案例的详细信息也会有所帮助。
发布于 2009-02-26 07:52:01
据我所知,编辑框架时,必须在编辑器中同时打开窗体和框架。否则可能会出现更新问题。虽然我还没见过这个。
但是我很久以前就放弃了帧,因为我发现它们不太可靠。
现在,我只将它们用于原型开发,创建一个自定义组件(派生自一个面板,其中包含有相应控件的面板)。
https://stackoverflow.com/questions/589523
复制相似问题