【问题标题】:Delphi XE5, how do I get frames defined in a package into th component paletteDelphi XE5,如何将包中定义的框架放入组件调色板
【发布时间】:2013-12-18 05:51:48
【问题描述】:

两件事是我的问题

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

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

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

使用 XE5、Update1、VCL

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

TIA

【问题讨论】:

    标签: delphi package vcl palette tframe


    【解决方案1】:

    documentation看来,这是不可能的(强调):

    向工具面板添加框架

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

    似乎已确认here

    分享相框

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      • 2014-07-06
      • 1970-01-01
      相关资源
      最近更新 更多