在C ++ Builder应用程序中使用MFC中的CArray类

时间:2009-10-15 12:51:25

标签: c++ mfc c++builder

需要将CArray实例从我用C ++ Builder编写的应用程序传递给外部DLL。有没有办法从C ++ Builder中使用MFC?如果是,怎么样?

附录:这个DLL不是我的,我无法改变它。

4 个答案:

答案 0 :(得分:3)

C ++ Builder不支持MFC,因为Microsoft和Borland C ++运行时不兼容。

请参阅http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.9

答案 1 :(得分:0)

我不知道C ++ Builder是否有任何类型的MFC支持(可能有第三方开源代码)。

由于CArray的方法很少,一种可能的解决方案是为它编写一个包装器并将接口暴露给dll。

例如参见adapter pattern.

答案 2 :(得分:0)

您可以使用std :: vector代替。功能基本相同。

答案 3 :(得分:0)

CArray与std :: vector非常相似,因为数据在内存中是连续的 最简单(唯一安全)的方法是传递指向实际数据和大小参数的指针。 见CArray::getData

你单独的dll不会改变大小 - 如果你需要这样做使用std :: Vector