首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

Script Control解决办法

2013-12-26 
Script Control最近有接触到Script Control . 有些问题, 需请教各位. 怎么导入Class Module , 然后怎么样

Script Control
最近有接触到Script Control . 有些问题, 需请教各位. 
怎么导入Class Module , 然后怎么样需要进行什么处理后, 可以像VB里自由使用. 

[解决办法]
“工程”菜单,“添加类模块”->选择“现存”标签,找到要添加的类模块,打开。
[解决办法]

引用:
“工程”菜单,“添加类模块”->选择“现存”标签,找到要添加的类模块,打开。


高手,人家不是说的这个。是问怎么把class的代码,文本形式的,放到控件里去运行。

以前写过,但都是函数式的。
类的话,应该可以,主要是没动力去研究。
[解决办法]
引用:
VBS 中只能使用类,不能定义类。

VBS文件可以定义类的:

dim t
set t = new test

call msgbox(t.prop1)

class test
    property get prop1()
        prop1 = "This is a test."
    end property

    public sub class_initialize()
    end sub
    public sub class_terminate()
    end sub
end class

[解决办法]
多个Modules之间的访问,我只找到在VB里先用AddObject暴露对象的办法,上周基于这个方案,替人40元写了个示例。这样写肯定比用class来处理麻烦,相互间调用,中间还要弄了CodeObject


Private Sub DoTestScript2()
    On Error GoTo DoTestScript2
    'On Error GoTo 0
    mScript.WAIT 200
    
    Dim script_control As ScriptControl                                         ' Object
    Dim sMod26 As String, sMod27 As String
    Dim strLine As String
    'Text1.Text = strLine
    sMod26 = "26"
    sMod27 = "27"
    
    Dim vals As Integer
    Dim oModule As Module
    
    vals = 4
    Set script_control = CreateObject("MSScriptControl.ScriptControl")
    script_control.Language = "VBScript"
    'script_control.AddCode strLine
    Set oModule = script_control.Modules.Add("mdl" & sMod27)
    oModule.AddCode ReadTxtFile(App.Path & "" & sMod27 & ".csq")
    script_control.AddObject sMod27, oModule
    Set oModule = script_control.Modules.Add("mdl" & sMod26)
    oModule.AddCode ReadTxtFile(App.Path & "" & sMod26 & ".csq")
    script_control.AddObject "list", List1
    script_control.AddObject "Text", Text1
    script_control.AddObject "scrobj", mScript
    
    
    'script_control.Run "main"
    script_control.Modules(sMod26).Run "main"
    'script_control.Modules(sMod27).Run "MSG"
    Exit Sub
    
DoTestScript2:
    If Err <> 0 Then
        MsgBox "错误 " & Err.Number & " (" & Err.Description & ") in procedure Command1_Click of Form Form1"
    End If
    
End Sub

热点排行