0

2件事是我的问题

1) a 在包中定义了一个 TMyframe=class(TFrame) ,但该框架未在框架调色板中列出。因此,我使用几种方法从设计时包中注册了我的类,这些方法似乎都没有做我想要的。(RegisterCOmponent、RegisterClass 和 RegisterCustomModule)

2)最大的问题,因为Delphi不“知道”我的框架,它被作为一个常规组件处理,当内联使用它时,其中定义的(子)对象在表单资源中显示为“对象”而不是“继承” ' 导致稍后创建表单时“对象 blahblah 已存在”。同样的行为发生在 IDE 的表单设计器中。当我将这个框架单元从我的运行时组件包移动到主模块(我的“内核”bpl)时,对象/继承的问题就消失了,一切似乎都正常工作。可能是因为知道如何解决“TMyCustomFrame”。

所以......我如何在一个包中定义框架并在设计时在表单中使用它们(在其他包或exe中),而不会破坏我的表单资源。

使用 XE5、Update1、VCL

(我会想出一些简单的例子,同时我已经想要这个问题了)

TIA

4

1 回答 1

2

文档看来,这是不可能的(强调补充):

将框架添加到工具面板

框架作为组件模板添加到工具面板。要将框架添加到工具选项板,请在表单设计器中打开框架(您不能为此使用嵌入在其他组件中的框架),右键单击框架,然后选择添加到调色板。当“组件模板信息”对话框打开时,选择新模板的名称、选项板页面和图标。

似乎在这里得到了证实:

共享框架

您可以通过两种方式与其他开发人员共享框架:

将框架添加到对象存储库。

分发框架的单位 (.pas) 和格式(.dfm 或 .fmx)文件。

要将框架添加到对象存储库,请打开包含该框架的任何项目,右键单击表单设计器,然后选择添加到存储库。有关详细信息,请参阅使用对象存储库。

如果您将框架的单元和表单文件发送给其他开发人员,他们可以打开文件并将框架和表单添加到工具面板。如果框架中嵌入了其他框架,则它只能作为项目的一部分打开。

于 2013-12-02T15:24:49.850 回答