如果要編寫模組化的軟體,就要對對動態鏈結庫(dll)有一定的了解,本人這段時間在修改以前的軟體時,決定把重複用的類和對話方塊做到dll中,下面就從乙個簡單的例子講起,如何實現mfc擴充套件dll中匯出類和對話方塊。
一、建立mfc擴充套件dll
步驟:
執行visual studio 6.0->file->new...->projects;
選擇mfc extension dll (using share mfc dll) 單擊「finish」;
以上完成建立擴充套件dll的框架,下面接著建立輸出類:
insert-> new class...在開啟的對話方塊中,"class type" 選擇"generic class",class name 中輸入cdogclass(當然你可以用其它的名稱,我喜歡小狗,所有用它了,在"base class"下輸入cobject,然後"ok";為類新增兩個測試用的變數 int m_nnum;cstring m_sdata;完全的類資訊如下:
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中匯出類和對話方塊
一 建立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 ...
MFC擴充套件DLL中匯出類和對話方塊的實現方法
一般來說,如果要編寫模組化的軟體,就要對對動態鏈結庫 dll 有一定的了解,本人這段時間在修改以前的軟體時,決定把重複用的類和對話方塊做到dll中,下面就從乙個簡單的例子講起,如何實現mfc擴充套件dll中匯出類和對話方塊。程式執行結果如下圖所示 一 建立mfc擴充套件dll 步驟 dogclass...