MFC擴充套件DLL中匯出類和對話方塊的實現方法

2021-07-05 07:26:28 字數 1700 閱讀 5454

一般來說,如果要編寫模組化的軟體,就要對對動態鏈結庫(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 ...