有必要CARRAY實例傳遞給從我的應用相關的外部DLL寫在C++ Builder中。有沒有辦法從C++ Builder中使用MFC?如果是,如何?使用CARRAY類
附錄:這個DLL不是我的,我不能改變它。
有必要CARRAY實例傳遞給從我的應用相關的外部DLL寫在C++ Builder中。有沒有辦法從C++ Builder中使用MFC?如果是,如何?使用CARRAY類
附錄:這個DLL不是我的,我不能改變它。
C++ Builder不支持MFC,因爲Microsoft和Borland C++運行時不兼容。
參見http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.9
因此,您很可能會發現外部DLL不能在C++ Builder中使用。 – atomice 2009-10-15 13:46:07
我不知道C++ Builder是否有任何類型的MFC支持(也許有第三方開源代碼)。
由於CArray
有很少的方法,一種可能的解決方案是爲它編寫一個包裝並將接口暴露給dll。
你可以使用一個std ::向量來代替。功能幾乎相同。
此DLL不是我的,我無法更改它的界面。它預計CArray和我無能爲力。 – 2009-10-15 14:39:06
CARRAY非常類似於一個std ::向量,所述數據是在存儲器contigous。
最簡單的(唯一安全的)方法是將指針傳遞給實際數據和大小參數。 見CArray::getData
你單獨的DLL shoudln't改變大小 - 如果你需要做到這一點使用std ::矢量
此外,CARRAY是可怕的。改用'std :: vector'。 – 2013-08-24 00:00:45
我無法更改那個需要CArray實例的DLL。不是我的。 – 2013-09-08 11:03:48