MFC擴充套件DLL匯出類相關問題

2021-05-09 08:23:50 字數 985 閱讀 7680

用嚮導建立乙個擴充套件dll工程,新增乙個類,然後在類前面名前加afx_ext_class 就行了,這個類就被匯出了,網上例子很多,似乎也很簡單,其實類複雜一點,就會有些問題了,如:

extdlg.h

#pragma once

#include "resource.h"

#include "d***dlg.h"//另乙個類的標頭檔案

// cextdlg 對話方塊

class  afx_ext_class cextdlg : public cdialog

;protected:

virtual void dodataexchange(cdataexchange* pdx);    // ddx/ddv 支援

declare_message_map()

public:

int m_num;

public:

virtual bool oninitdialog();

public:

int m_input;

public:

afx_msg void onbnclickedbnset();

public:

cd***dlg m_***dlg;

};然後在函式中使用 m_***dlg物件

我想表達的情況是:我想匯出b類,但在b類中又包含了a類的物件,因此需要在b類的標頭檔案 中包含a類的標頭檔案,

我還是照例把.lib,.dll,.extdlg.h檔案拷貝到呼叫此dll的工程的相關目錄下,一呼叫,問題就出來了,說d***dlg.h 沒有找到。

這個很顯然,當然目錄下根本沒有這個檔案,可是在extdlg.h中肯定要包含這個檔案呀,這怎麼辦。最簡單的辦法是將那個標頭檔案也拷貝過來,但通常情況下,別人給你乙個.h和.lib .dll就了不得了,哪個還把頭檔案都給你呢,一想肯定這個封裝是問題的,可問題的我也不知道怎麼封裝比較合理,稍後繼續.....

將所有要用到的標頭檔案都包含,找不到的標頭檔案都新增進來就行了。本來就是這樣的。

實現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 ...