2010-11-10 63 views
3

我已經繼承了舊的C++(MFC)項目,並且將不得不添加新的功能。 新的功能將大多不會與現有的C++代碼發生衝突,如額外的對話框等。
對C++ MFC的經驗有限,我非常希望在Delphi中執行額外的功能,創建一個DLL並在C++項目。Delphi DLL來增強C++項目

我想這通常是可能的,類似於在Delphi中使用C++ DLLs?
這樣可以做什麼有限制?

+0

我們在談論什麼樣的功能?基於GUI? – 2010-11-10 08:32:14

+0

是的,基於GUI。例如,顯示數據圖表的對話框 – Holgerwa 2010-11-10 08:48:33

回答

0

在Windows上綁定來自不同源的二進制組件的唯一可靠方法是COM。所以使用COM/ActiveX,即使這將成爲一個GUI DLL,你仍然可以很好地防禦它。

+1

沒辦法。如果調用約定和二進制佈局兼容,則可以使用靜態或動態鏈接器進行綁定。說COM是防彈是垃圾,與COM有關的移動部分遠多於功能鏈接,因此錯誤的概率更高。 – 2010-11-10 20:01:53

+0

我說過有人無法綁定某些東西嗎?您甚至可以將BPL綁定到MFC應用程序。但它不會工作。基本級別的COM只是一個慣例,不同的二進制組件必須如何交互才能兼容。而解決這個問題的範圍遠遠超出了調用約定的範圍。你可以嘗試通過編寫自己的合作慣例來創造一輛自行車,或者你可以使用那些已經編寫和測試了幾十年的自行車。我選擇第二個。你可以浪費時間並選擇第一個。這取決於你,但不要說我的選擇是垃圾。 – noxmetus 2010-11-12 16:21:54

2

基本上沒有問題。但是如果你要使用對話框等,你的應用程序將使用兩個框架,MFC和VCL,並且它們可能不能很好地一起玩。