首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

在 C++ Builder 專案中混合使用 Delphi 程式碼

     編輯:VC 教學

核心機制

C++ Builder 專案可直接加入 .pas (Delphi 原始碼) 檔案。編譯器會自動產生對應的 .hpp 標頭檔,讓 C++ 程式碼呼叫 Delphi 的函數、類別、物件。反之,Delphi 也可呼叫 C++ 定義的內容 (需 extern "C" 或共用標頭檔)。

關鍵規則與限制

  • 表單編輯器:IDE 中無法直接編輯 Delphi 表單 (.dfm);需用 convert.exe 轉為文字格式編輯後再轉回,或直接編輯 .pas 程式碼。
  • 單向呼叫較易:C++ 呼叫 Delphi 相對容易;Delphi 呼叫 C++ 需處理名稱修飾、呼叫慣例差異。
  • 無法鏈結 DCU:專案中不能直接加入 .dcu,必須提供原始碼 .pas 或預先編譯為 .obj (Delphi 3.x 可用 dcc32 -JPHN 產生 .obj、.hpp、.dcu)。
  • VCL 共用:整個 VCL 以 Object Pascal 撰寫,C++ Builder 專案實際上將 Pascal 單元編譯為 OBJ 再鏈結,故極高相容。

加入 Delphi 單元步驟

  1. Project → Add to Project
  2. 檔案類型選 *.pas,選取檔案。
  3. 編譯專案,編譯器自動產生 .hpp、.obj,C++ 即可 #include "Unit1.hpp" 使用。

使用 Delphi 元件

大多數 Delphi 元件可直接安裝至 C++ Builder 元件庫。安裝時編譯器會依副檔名處理:

  • .obj:直接鏈結。
  • .cpp:C++ 編譯後鏈結。
  • .pas:Pascal 編譯器產生 .obj、.hpp、.dcu,再鏈結 .obj。

潛在問題:Pascal 特有語法 (如集合、嵌套常數、特定屬性存取) 可能無法完整轉換為 C++,導致安裝元件時、產生 HPP 時、或專案鏈結時出錯。需逐案調整 Pascal 碼或手動修補 HPP。

總結

C++ Builder 與 Delphi 的互通性極強,適合團隊混合開發、舊專案遷移、元件共用。掌握上述規則可避開常見陷阱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved