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

首頁 > 學院 > 開發設計 > 正文

使用 C++ Builder 創建包含VCL組件的DLL

2019-11-17 05:13:42
字體:
來源:轉載
供稿:網友
    3.5創建包含VCL組件的DLL
    DLL的一個好處在于用一種開發工具創建的DLL可以用于另一不同的開發工具編寫的程序使用。當在調用應用程序中使用了包含了VCL組件(比如窗體)的DLL,則必須提供輸出接口路徑以用于標準的傳統調用來避免C++名稱不匹配,并且不需要所調用的應用程序支持VCL庫。為了創建能夠輸出的VCL組件,可使用運行時程序包,有關信息可以參閱第10章。
    比如,假設要創建一個DLL,顯示如下簡單的對話框(如圖3-1所示)。使用 C++ Builder 創建包含VCL組件的DLL(圖一)
    這個對話框DLL的代碼如下:
使用 C++ Builder 創建包含VCL組件的DLL(圖二)
使用 C++ Builder 創建包含VCL組件的DLL(圖三)
使用 C++ Builder 創建包含VCL組件的DLL(圖四)

    這個例子代碼顯示對話框,并在Yes按鈕被按下時在私有數據成員returnValue中存儲true值,否則,returnValue值為false。公用的GetReturnValue()函數接收returnValue的當前值。
    為了調用這個對話框,并確定是哪一個按鈕被按下,調用的應用程序調用輸出函數InvokeYesNoDialog()。這個函數作為C鏈(以避免C++名稱不匹配)和標準的傳統C調用的一個輸出函數在DLLMAIN.H中聲明,在DLLMAIN.CPP中定義。
    在DLL中使用標準的C函數作為接口,不管是否是用C++Builder創建的,任意調用的應用程序都能使用這個DLL。要求支持這個對話框的VCL功能被鏈接入DLL本身,而所調用的應用程序不需要了解它的任何東西。
    要注重的是,當創建了一個VCL的DLL時,所需的VCL組件被鏈接入DLL,將導致一定量的越界(overhead),通過將幾個組件結合進一個只需要VCL支持組件的一個備份的DLL中可以壓縮這種越界,這將使應用程序的大小最小化。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霞浦县| 德钦县| 东港市| 托里县| 海伦市| 新河县| 高安市| 同德县| 拜城县| 鹤山市| 敦化市| 山西省| 崇阳县| 霍林郭勒市| 大足县| 瓮安县| 贵南县| 阆中市| 金沙县| 武隆县| 蓬溪县| 金川县| 罗江县| 房山区| 马尔康县| 招远市| 乌鲁木齐县| 阿尔山市| 肥东县| 泾阳县| 桐柏县| 时尚| 苍溪县| 周至县| 彭水| 师宗县| 淮北市| 峨边| 吴江市| 凤城市| 阿图什市|