国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

在C++Builder中使用Delphi文件

2019-09-06 23:33:42
字體:
來源:轉載
供稿:網友

                      在使用多種語言和工具編寫一個應用程序時,最為困難的事情之一是創建和維護定義文件的接口。幸運的是,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之間極少的不兼容造成的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 九寨沟县| 襄城县| 略阳县| 惠来县| 藁城市| 庆阳市| 双江| 永和县| 遵化市| 谷城县| 观塘区| 双桥区| 芷江| 盐城市| 五大连池市| 江阴市| 中方县| 固始县| 台前县| 泰兴市| 北川| 延川县| 衢州市| 聊城市| 新密市| 宜兴市| 长白| 滕州市| 尖扎县| 周口市| 永福县| 新民市| 准格尔旗| 韶关市| 肥乡县| 塔城市| 平潭县| 长沙市| 华池县| 兴文县| 舟曲县|