在C++Builder中使用Delphi檔案

來源:互聯網
上載者:User

在使用多種語言和工具編寫一個應用程式時,最為困難的事情之一是建立和維護定義檔案的介面。幸運的是,C++Builder把這一切都替你做好了。當在項目中加入一個.PAS檔案時,C++Builder會自動建立一個.HPP檔案。

在CPP檔案中,可以調用Pascal的函數、對象等。這為Delphi的程式員移植全部或部分的項目提供了便捷的途徑。

下面是在C++Builder中使用Delphi代碼的原則:

1、在C++Builder的表單編輯器中,不能修改或編輯Delphi的表單。但是可以修改Delphi表單的PAS檔案和子節點。可以用Bin目錄下的Convert程式將Delphi的表單轉換成文字格式設定 ,然後以文本方式編輯Delphi表單,然後再轉換回DFM檔案格式。關鍵是要記住:可以在 IDE中編輯Delphi的PAS檔案,但是不能編輯Delphi的表單檔案(DFM檔案)。

2、在同一檔案中,C++和Object Pascal不能同時定位。Object Pascal 可以被C++調用, 反之亦然。但是在C++中,調用Pascal要比從Pascal中調用C++要容易些。

3、C++Builder的項目中不能連結DCU檔案,但是可以直接使用源碼。另一種方法是:先 產生一個可以被C++Builder連結的OBJ檔案(如果是使用Delphi3.x)。這個方法適應於 表單、組件和單元。

C++Builder並不關心項目中的單元是用C++還是用DELPHI編寫。C++ Builder都將當作C++Builder統一進行編譯。

一般來講,任何在Delphi3.x中用delphi編譯器可以編譯的單元

都可以在C++Builder中編譯。C++Builder可以編譯下列內容:

1、Delphi表單;

2、包含對象的Delphi單元;

3、包含過程、函數、常量、數組等的Delphi單元;

4、Delphi組件。

在C++Builder項目中,添加Delphi單元的步驟如下:

1、選擇Projet|Add to Project

2、從Add to Project對話方塊中選擇CPP、C、PAS、RES、LIB或OBJ。對於Delphi單元,選擇PAS。

3、瀏覽目錄並選擇加入項目所需要的檔案。

4、找到所需的檔案後,單擊Open完成。無須以任何方式進一步處理Pascal檔案。

在C++Builder中使用Delphi組件

在C++Builder中使用Delphi組件是容易的。大部分組件不需修改就可以直接使用,但是有時在安裝組件選項板時出現的編譯錯誤也會導致Delphi的組件出現問題。

在C++Builder中試圖使用Delphi組件時可能會遇到一些問題,如連結錯誤等。

C++Builder中有三種副檔名用於組件,即OBJ、CPP、PAS檔案,而對於每一種副檔名檔案,C++Builder都有不同的處理方法。

1、使用.OBJ檔案安裝組件時,編譯器把目標檔案連結到程式包庫。

2、如果是.CPP檔案,則先調用C++編譯器產生一個.OBJ檔案,然後再連結到組件庫。

3、如果是.PAS檔案,則先調用Pascal編譯器,這個編譯器

是一個小型編譯器。它不同於Delphi中的Pascal編譯器。它不僅建立一個Delphi Compiled Units(DCU)檔案,而且還產生一個.OBJ檔案和一個以.HPP為副檔名的C++標頭檔(在使用Pascal檔案時,可以強制產生C++的標頭檔、OBJ和DCU檔案。命令列狀態下使用.JPHN作為DCC32.exe的選擇性參數)。然後.OBJ檔案連結到組件庫,而標頭檔用於應用程式的類的說明。

儘管建立了一個C++的標頭檔,有時還是可能會出現問題。一些pascal語言的特性不能轉換成

C++,因而在下列三個方面可能產生問題。

1、給組件庫安裝組件時;

2、在C++Builder產生C++標頭檔時;

3、使用Delphi組件後連結C++Builder應用程式時。

在C++Builder中可以使用Object Pascal的代碼,這是一個驚人之舉。整個VCL都是用Object Pascal編寫的,它可以和C++Builder代碼進行連結。但是要記住,不是百分之百可以連結,這是由於C++和Object Pascal之間極少的不相容造成的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.