基于UG的接口技術(shù)研究
(1)UG/Open AppWizard
該向?qū)荱G軟件本身提供的應(yīng)用向?qū)?,操作簡便,運(yùn)行穩(wěn)定,可以快速構(gòu)建開發(fā)框架,但通常不支持MFC類庫。
(2)Win32 Dynamic-Link Library
該向?qū)?chuàng)建Windows常規(guī)DLL,基本操作是打開VC++,選擇菜單命令File---~New,在彈出的New對(duì)話框中選擇Win32 Dynamic.Hnk Library選項(xiàng)便可完成創(chuàng)建過程。但此向?qū)е荒軐?dǎo)出c樣式函數(shù),不能導(dǎo)出c++類、成員函數(shù)和重載函數(shù),不支持MFC類庫。
(3)MFC AppWizard(DLL)
該向?qū)?chuàng)建的動(dòng)態(tài)鏈接庫(dl1),可以方便地調(diào)用MFC類庫中豐富的資源。MFC封裝了WIN32 API函數(shù),并設(shè)計(jì)了一套方便的消息映射機(jī)制。MFC的界面靈活性和表達(dá)能力均優(yōu)于UISyler的功能,有效靈活的MFC框架結(jié)構(gòu)大大方便了開發(fā)者編程,可以實(shí)現(xiàn)與數(shù)據(jù)庫進(jìn)行通信,有效解決了UG/Open提供的工具及對(duì)話框所包含的控件較少、界面開發(fā)功能差及無法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問的問題。
1.2 接口技術(shù)方案
在Visual C++6.0環(huán)境中為UG提供的3種工程應(yīng)用向?qū)е校挥惺褂肬G/Open AppWizard生成的DLL文件(又叫UFUN DLL)可以直接被UG調(diào)用。
但使用UG/Open AppWizard向?qū)?chuàng)建的應(yīng)用程序本身不支持MFC,不能直接調(diào)用MFC的應(yīng)用程序,實(shí)現(xiàn)與MFC的通信,特別是與數(shù)據(jù)庫的連接。由于UG本身可以通過動(dòng)態(tài)鏈接庫(DLL)實(shí)現(xiàn)UG系統(tǒng)內(nèi)的圖形界面與系統(tǒng)內(nèi)部的通信,而且通過動(dòng)態(tài)鏈接庫(DLL)方式的執(zhí)行速度快 。
接口實(shí)現(xiàn)方案如圖2所示。通過DLL嵌入的方式實(shí)現(xiàn)UG與MFC集成和運(yùn)行,利用MFC實(shí)現(xiàn)與數(shù)據(jù)庫通信,并可以直接使用MFC豐富的函數(shù)資源。
UG軟件為用戶提供的二次開發(fā)工具不但可以獨(dú)立使用,而且可以通過接口相互調(diào)用,這不但擴(kuò)展了工具本身所具有的功能,還方便用戶進(jìn)行二次開發(fā)。
MenuScript用于菜單的開發(fā),UIStyler則主要用于開發(fā)實(shí)現(xiàn)用戶界面接口交互操作的對(duì)話框。
評(píng)論