雖然說 C++ Builder 3.0 是 Borland C++ 5.02 的下一個版本,一樣支持 MFC ,但若要在 C++ Builder 3.0 下使用 MFC 並不簡單。不是直接寫個 MFC native Code 並在 Project Option 中再勾選個 MFC Compatibility 這麼簡單,若你只這樣做,保證你在編譯時一定會得到一堆的 Warnning 與 Error。
要讓你與 BCB 都能夠輕鬆的編譯 MFC ,我們所必需的就是自己動點手腳,並將這個動過手腳的 Project 檔給放到 Object Repository;之後,你只需要按下選單上的 New 就可以開始你的 MFC in BCB之路了。
Step 1、
New 一個新的 Project
Step 2、
在 Project Option裏的 Directories/Conditionals 這一頁的Conditionals/Conditional defines中給加入
_X86_ _WINDOWS _MSC_VER=1100 _AFX_PORTABLE _AFX_NOFORCE_LIBS _MT _CRT_PORTABLE _AFX_NO_DEBUG_CRT |
這幾個編譯用的參數。 並記得在 include path 加入 $(BCB)/include/MFC 這一項。
Step 3、 接着在 Advance Compilers 這一頁裏將 MFC Compatibility 給勾選起來,
Step 4、 緊接着,將檔案給存起來,裏用文字編輯器來修改這個 Project 的 bpr 檔。 找到 CFLAG1 = ...... 這一行 將這一行給爲 CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -w-par -w-inl -w-hid -w-aus -g0 -WM -W
再找到 CFLAG3 = ...... 這一行 將這一行給爲 CFLAG3 = -Tkh30000 -VF
最後找到 ALLLIB = .... 這一行 將這一行給爲 ALLLIB = $(LIBFILES) $(LIBRARIES) nafxcw.lib import32.lib cw32mt.lib
接着就是存盤囉!
Step 5、 這樣一來,就可以直接在BCB3下享用MFC囉!
不可不知道
在此範例中,所編譯出來的檔案將會是 static link 的版本,並非 dynamic link,要怎麼樣在 BCB 3 下做 dynamic link MFC library 呢?在此先賣個關子,看看 BCB 裏所附上的範例吧!
此外,在 BCB 有很多方式來鏈接 VCL 與 MFC,大致可分爲兩類 :
1、以 TApplication 爲主體,而程序中混合使用 VCL與 MFC 所提供的其它類,如CDC、CPoint、CFile 等等.....。 2、以 MFC 的 CApp 爲主體,在選單中呼叫 VCL 所組合而成的 Form。
而這兩類要怎麼樣在 BCB 裏完成呢?聰明的讀者,動動您的腦筋想想看吧! |
|