Delphi自定义组件,项目中涉及tpropertyeditor时使用

Posted

技术标签:

【中文标题】Delphi自定义组件,项目中涉及tpropertyeditor时使用【英文标题】:Delphi custom components, using in project when tpropertyeditor is involved 【发布时间】:2011-05-29 01:00:15 【问题描述】:

我在运行包含我自己的组件的 Delphi CodeGear 中构建的项目时遇到问题。它们(组件)使用属性编辑器,所以我使用 designide.dcp,它编译得很好,组件出现在工具箱上。但是,当我在一个新项目中使用它们时,我无法启动它。它说“‘dcc’以代码 1 退出”?!我还在运行时包中包含项目中的包,因为它没有编译。任何人,请帮忙

【问题讨论】:

属性编辑器只能包含在设计包中 【参考方案1】:

您可能正在将 TPropertyEditor 编译到仅标记为运行时的包中。

最好的解决方案是创建两个包,一个只包含组件代码并标记为运行时包,另一个标记为设计时,需要您以前的运行时,并包含 TPropertyEditor。

除此之外,您可以编译单个包,但将包标记为运行时和设计时。

有关其布局方式的简单示例,请参阅此处的文章:

http://blogs.embarcadero.com/nickhodges/2010/01/06/39345

以及它引用的代码,在这里:

http://sourceforge.net/projects/tsmiley/

【讨论】:

是的,解决了。事实上我不需要两个包,将设计时和运行时的东西分成单独的单元就足够了。谢谢【参考方案2】:

安装组件和/或组件包是一个步骤。您还必须确保 Delphi IDE 中的 Evironment Path 指向组件的源文件。 仔细检查组件源文件的路径是否存在,以及 delphi 源代码中 toolsapi 的路径

【讨论】:

【参考方案3】:

我不知道这个错误的确切含义,但我在this QC call 中找到了它。这似乎是一个类似“找不到文件”的错误。

我认为您的组件已安装,但 dcus 和/或运行时包丢失或位于无法找到的路径中。

使用运行时包编译时它可以工作的事实也表明该包无法编译成可执行文件。我不确定“错误 1”是否意味着“找不到文件”。编译器是否提供任何其他信息?

【讨论】:

以上是关于Delphi自定义组件,项目中涉及tpropertyeditor时使用的主要内容,如果未能解决你的问题,请参考以下文章

Delphi自定义组件如何在属性面板中实现打开文件的对话框?

Delphi 自定义 TImage 组件 - 组件中的 MouseEnter、MouseLeave

Delphi 自定义组件,拖动时无法在设计器中定位(顶部/左侧属性的自定义设置器)

Delphi 2009 - 在自定义 Delphi 组件中设置默认属性值

Delphi (CM_) 中的组件消息和自定义图形设计时组件

动画拖放自定义 Delphi 组件