delphi 和 C++ Builder 中的组件?

Posted

技术标签:

【中文标题】delphi 和 C++ Builder 中的组件?【英文标题】:Components in delphi and C++ Builder? 【发布时间】:2011-08-25 22:42:39 【问题描述】:

我有一些组件(alpha 控件)我可以将它们安装到 Delphi 或 C++ builder 中,它运行良好。但是当我安装Delphi版本包时,我无法在C++ Builder表单中使用组件,而当我安装C++ Builder包时,我无法将组件放入Delphi表单。

我想创建一个新的 C++ builder 项目并添加一些 Delphi 表单,然后我必须通过 C++ builder 表单和 Delphi 表单同时使用组件。

某些组件在两种环境中都可用,例如 VisionLab 组件。 VisionLab 附带一个安装程序软件,可以在 C++ 和 Delphi 中安装 VisionLab,但我必须从源代码安装 Alpha 控件。

最后,我使用 RAD studio XE Architect。和 Alpha 控制版本 7.26。

【问题讨论】:

我有 2 个软件包,一个用于 Delphi XE,另一个用于 CBuilder XE。我可以使用 Component->Install Package 在 Delphi 和 CBuilder bpl 文件之间切换。但是当我尝试同时标记 delphi 和 CBuilder 包时,我看到一条错误消息,指出某些组件存在于先前选择的包中。我想在包含一些 delphi 表单的 CBuilder 应用程序中使用这个包。然后我必须同时在 delphi 和 CBuilder 中注册组件。或者为 CBuilder 和 Delphi 构建一个包。 我有这个组件的源代码(Aplpha 控件)是否可以为 delphi 和 CBuilder 创建一个包。正如我之前所说,有一些组件在 CBuilder 和 delphi 中都可用。我想创建像他们一样的包,但 我不知道该怎么做? 【参考方案1】:

我想您会发现,如果使用正确的标志编译,大多数 Delphi 组件将仅适用于 C++。在 IDE 中,这是通过选择 Options->Linker 并选择“Generate all C++ Builder Files”来完成的。在命令行上,它是通过在编译包时将 -JL 传递给 dcc32 来完成的。 (dcc32 -JL mypackage.dpk) 然后您必须将使用此方法生成的 bpl 文件安装到 IDE 中。

也可以仅通过将组件包含在 C++ 项目中来在运行时使用组件,但这是不太理想的用户体验。

【讨论】:

您好,亲爱的,感谢您的关注。我照你说的做,但没有好的答案,请阅读我在顶部的评论。 如果我理解正确,您使用的组件集包含在 C++ 和 Delphi 的不同/单独包中(同名)不可能将它们都加载到 IDE 中同时。我知道一些组件开发人员选择这样做是为了更充分地利用每种语言的特性。然而,这会产生上述问题。 是的,你是对的,但是所有这些组件都是用 Delphi 语言编写的,我想在 IDE 中同时加载 c++ 和 delphi 包,有没有办法做到这一点。我有所有组件的 .pas 文件。 谢谢亲爱的,在此之前我尝试同时安装这两个包,但今天我只安装 Delphi 包并通过选择“生成所有 C++Builder 文件”来编译它,然后我可以把控件放在cBuilder 和 delphi 形式。【参考方案2】:

好吧,我从来没有使用过 CBuilder,所以我不能 100% 确定,但是你确定当你安装 Delphi 组件时,它们只适用于 Delphi?同样,如果您安装 CBuilder 组件,它们将不会出现在 Delphi IDE 中。同样,我不是 100%,但我认为您需要为 CBuilder 安装 CBuilder 包,为 Delphi 安装 Delphi 包?

【讨论】:

您好,谢谢。当我为 delphi 安装它们时,你的回答是“是”,我不能在 CBuilder 中使用组件等等。我需要同时使用 CBuilder 和 Delphi 组件。请阅读我在页面顶部的 cmets。

以上是关于delphi 和 C++ Builder 中的组件?的主要内容,如果未能解决你的问题,请参考以下文章

我应该在 Delphi 而不是 C++ Builder 中编写组件吗?如何向组件添加事件?

在 Delphi / C++ Builder 中使用 WebView (EdgeHTML)

C++ Builder / Delphi 2010 应用程序清单模板

如何对 Delphi/C++Builder 中的设计时包进行故障排除?

C++ Builder6.0中的GroupBox与RadioButton使用问题

Delphi 组件和屏幕阅读器