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