MFC擴充套件DLL 小結

2021-05-10 16:06:12 字數 465 閱讀 4006

1、在dll中啟動多執行緒,用_beginthread()不能使用afxbeginthread().

2、dll中與客戶程式之間通訊可以有2中方法:

(1)通過訊息,在dll中增加乙個自定義訊息,此訊息的id注意不能和客戶端程式中的訊息重複。在客戶端程式中將視窗控制代碼傳給dll,在客戶端寫上此訊息的響應函式,這樣就可以很方便的將dll中的資料傳輸給客戶端了。應用場合:只將資料從dll傳輸給客戶程式,而不要返回值。

(2)通過**函式,在dll中宣告一**函式,在客戶端實現**函式,這樣就可以呼叫客戶端的資料。應用場合:主要是為了減小dll與其他dll之間的耦合,比如所編寫的a.dll可能需要呼叫b.dll(或更多的dll)只是使用了幾個簡單的介面且帶返回值,或者a.dll中與客戶端程式的介面有關。另整個客戶端程式又有很多模組也需要呼叫這些dll,如果讓每個dll都包含這麼多dll勢必很麻煩,故選用讓客戶端作為b.dll的**,通過**實現。從而減少dll之間的耦合。

關於Mfc擴充套件dll的使用

1 例如,mfc擴充套件dll為exporta工程,mfc擴充套件dll為exportb工程,則exportb工程在使用exporta時,出現鏈結錯誤,開始以為沒有新增依賴庫或者到處類錯誤,但是檢視多次還是出現問題,後來上網查資料,發現afx ext data如下 exportb的dll工程使用ex...

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

用嚮導建立乙個擴充套件dll工程,新增乙個類,然後在類前面名前加afx ext class 就行了,這個類就被匯出了,網上例子很多,似乎也很簡單,其實類複雜一點,就會有些問題了,如 extdlg.h pragma once include resource.h include d dlg.h 另乙個...

DLL專題之MFC規則庫和擴充套件庫

說實話,編寫mfc規則庫和擴充套件庫和編寫其他庫沒有什麼區別.其實都一樣.只不過,mfc規則庫和擴充套件庫對支援mfc的特性更好,你在寫mfc規則庫和擴充套件庫的時候基本上可以和你寫mfc應用程式一樣.那我們就隨便寫寫吧.首先建立乙個mfc擴充套件的庫吧.在這裡我們匯出乙個函式呼叫前面的mfc靜態苦...