【问题标题】:Using Delphi component in Cbuilder linking error在Cbuilder链接错误中使用Delphi组件
【发布时间】:2011-12-28 08:10:18
【问题描述】:

我从这里http://www.delphiarea.com/downloads/ 下载了“Wave Audio Package”VCL 组件,该组件包用于 Delphi,我需要在 CBuilder 端使用它(我使用的是 RAD Studio XE),在设置调整 dproj 之后(在 C++ 输出文件生成中,我设置为“生成所有 C++ Builder 文件(包括包库)”)我设法让 VCL 组件在 CBuilder 端工作。

但还是有问题,我不能使用它的“全局”函数(在命名空间 Waveutils:: 下),例如 Waveutils::SetPCMAudioFormatS、Waveutils::GetWaveAudioFormat 等。编译过程很好,但是有链接问题表示链接器无法找到该函数的引用,即使我添加了库“WA2010.lib”(这是我从 delphi 端构建组件时生成的)。我已经使用 TDUMP 转储了 WA2010.lib,它似乎包含函数的代码。

有没有我遗漏的步骤?提前感谢您的帮助。

【问题讨论】:

  • 前段时间我在为 BDS2006 的 C++ Builder 个性安装 Zeos 时遇到了问题,因为安装过程存在错误。检查stackoverflow.com/questions/1594565/… 中的步骤 1-5,看看它们是否对您有帮助。 Afaik,这至少发生在 2009 版之前,之后不确定。

标签: delphi audio c++builder vcl


【解决方案1】:

如果组件是开源的,则将它们用作动态实例化。 请记住:

不要在 C++ Builder 中安装组件!

这是邪恶的。 将组件单元添加到您的应用程序并实例化:

TWaveComponent *waveComponent; // in global scope

//in form constructor:
waveComponent = new TWaveComponent(Owner); 
waveComponent->property1 = value1;
waveComponent->property2 = value2;
waveComponent->OnEvent = myEventHandler;
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-28
    • 2011-01-04
    • 2016-10-23
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    相关资源
    最近更新 更多