一般來說,如果要編寫模組化的軟體,就要對對動態鏈結庫(dll)有一定的了解,本人這段時間在修改以前的軟體時,決定把重複用的類和對話方塊做到dll中,下面就從乙個簡單的例子講起,如何實現mfc擴充套件dll中匯出類和對話方塊。
程式執行結果如下圖所示:
一、建立mfc擴充套件dll
步驟:dogclass.h標頭檔案:
複製**
**如下:
class cdogclass : public cobject ;
int getnum() ;
void setdata(cstring data) ;
cstring getdata() ; };
dogclass.cpp實現檔案:
複製**
**如下:
cdogclass::cdogclass()
cdogclass::~cdogclass() {}
void cdogclass::init()
編輯dogclass.h標頭檔案修改下面一行;class afx_ext_class cdogclass : public cobject
以上完成類的建立,下面建立輸出對話方塊;insert-> resouce...新建立乙個對話方塊,新增兩個編輯框idc_edit1,idc_edit2,然後建立cdlgdog對話方塊類並為兩編輯框新增int m_nnum和cstring m_sdata的變數。
在dogclass.cpp的#include "dogclass.h"下加入#include "dlgdog.h"
在dogclass類中新增int showdlg();函式用來呼叫對話方塊,並在int cdogclass::showdlg()中新增如下**:
複製**
**如下:
cdlgdog dlg;
dlg.m_nnum = getnum();
dlg.m_sdata = getdata();
if (idok==dlg.domodal())
return 0;
然後編譯dll,會發現有幾個錯誤,不用怕,好解決的,首先,去掉dlgdog.cpp中的 #include 「/ add additional includes here」這一行;其次,在stdax.h中加入include "resource.h",再編譯,ok。
二、建立dll 測試程式
步驟:新建乙個基於對話方塊的mfc應用程式,新增一按鈕idc_button1,並在按鈕事件中新增如如下**:
複製**
**如下:
void ctestexportclassdlg::onbutton1()
}從exportclass檔案目錄拷貝dogclass.h和exportclass.lib檔案到測試程式目錄下;
在testexportclassdlg.cpp中加入#include 「dogclass.h」行;往連線程式的導入庫中新增exportclass.lib,在vs的project->settings下的setting for選擇all configuration.,然後在下面的頁面object/library conttrol中加入exportclass.lib;
別忘了把exportclass.dll複製到系統目錄或當前應用程式目錄;然後編譯就ok了。
實現MFC擴充套件DLL中匯出類和對話方塊
如果要編寫模組化的軟體,就要對對動態鏈結庫 dll 有一定的了解,本人這段時間在修改以前的軟體時,決定把重複用的類和對話方塊做到dll中,下面就從乙個簡單的例子講起,如何實現mfc擴充套件dll中匯出類和對話方塊。一 建立mfc擴充套件dll 步驟 執行visual studio 6.0 file ...
實現MFC擴充套件DLL中匯出類和對話方塊
一 建立mfc擴充套件dll class cdogclass public cobject int getnum void setdata cstring data cstring getdata dogclass.cpp實現檔案 cdogclass cdogclass cdogclass cdog...
實現MFC擴充套件DLL中匯出類和對話方塊
如果要編寫模組化的軟體,就要對對動態鏈結庫 dll 有一定的了解,本人這段時間在修改以前的軟體時,決定把重複用的類和對話方塊做到dll中,下面就從乙個簡單的例子講起,如何實現mfc擴充套件dll中匯出類和對話方塊。一 建立mfc擴充套件dll 步驟 執行visual studio 6.0 file ...