VB動(dòng)態(tài)調(diào)用自己的ActiveXDLL

字號(hào):

這幾天在琢磨自己編寫一個(gè)MS-OFFICE基礎(chǔ)操作的閱卷系統(tǒng),當(dāng)然類似的系統(tǒng)已經(jīng)有不少了:國(guó)家計(jì)算機(jī)等級(jí)一級(jí)輔助學(xué)習(xí)系統(tǒng)、各地方的計(jì)算機(jī)職稱考試系統(tǒng)、各高校的計(jì)算機(jī)文化基礎(chǔ)輔助學(xué)習(xí)系統(tǒng)以及一些商業(yè)的及個(gè)人的類似的系統(tǒng)。 那么我的閱卷系統(tǒng)要有什么特點(diǎn)呢?
     這類系統(tǒng)。無(wú)非就是調(diào)用MS的OFFICE類庫(kù),然后使用其提供的各種對(duì)象來(lái)判斷操作者的對(duì)錯(cuò)。開發(fā)工具首選VB6.0,開發(fā)效率高,最重要的就是其和VBA本身就是一家。系統(tǒng)框架采用主程序(exe)加ActiveX DLL。優(yōu)點(diǎn)是,系統(tǒng)開發(fā)好后,擴(kuò)展比較方便??梢噪S時(shí)增加一個(gè)閱卷功能,例如增加一個(gè)批閱WORD表格方便的功能。并且,提供一個(gè)接口,用戶也可以按照說(shuō)明隨時(shí)增加自己的批閱點(diǎn)(制作自己的ActiveX DLL)。擴(kuò)展的DLL名稱自定義,但是要填寫表格以告訴主程序,類名稱統(tǒng)一。
    例子:
     pclass.dll (ActiveX DLL ,類名稱:class1)
    Public Function myFunction(ByVal i As Integer) As Integer
     myFunction= i
    End Function
    主程序調(diào)用:
    Private Sub Command1_Click()
     On Error GoTo errorHandle:
     Dim obj As Object
     Set obj = CreateObject("pclass.class1")
     @#pclass是DLL名稱,class1是pclass.dll中的類名稱
     @#注意:不是模塊名稱
     MsgBox obj.myFunction(20)
     Set obj = Nothing
     Exit Sub
    errorHandle:
     MsgBox Err.Description & " -- 清檢查DLL文件名稱、類名稱、是否注冊(cè)等!"
     Err.Clear
    End Sub