如何实现vbscript调用vb编写的类所包含的事件?

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:52:33
示例:
VBScript:
set s = createobject("T.Test") 'T.Test是自己用vb写的
s.OnOk=getref("fok")
sub fok()
msgbox "OK"
end sub
=============================
vb:
Test.cls中代码
Private Sub Class_Terminate()
call HasOK
End Sub
sub HasOK
'这里开始代用外部的函数fok
'.......
end sub

现在的问题是我的test类中的OnOk接口如何实现,小弟先在的要求不管OnOk
是什么类型(事件,属性都可以),只要T.Test内部能调用到函数fok就行
2楼的大哥代码有问题哦,vbs中这样写也可以运行啊,但那不是事件调用而运行的啊
'VBS代码
'绑定OnOk事件
OnOK=GetRef("s_OnOk") '不好意思,是我写错了,应该是set OnOK=GetRef("s_OnOk")
function s_OnOK()
'事件被激活
msgbox "ok"
end function

这个用vb很难实现,还是想想用vc吧,其实也不难

vb6 sp6 +xp sp2 测试通过

VBS代码
'绑定OnOk事件
OnOk=GetRef("s_OnOk")
'创建Test对象
set s = createobject("T.Test")
'定义S的OnOk
function s_OnOK()
'事件被激活
msgbox "ok"
end function

'调用s的Testok函数,来触发OnOK事件
s.TestOk()

T.Test代码
Option Explicit
'声明一个事件
Public Event OnOK()

'TestOK函数
Public Function TestOK()
'触发OnOK事件
RaiseEvent OnOK
End Function

VBScript:
set s = createobject("T.Test") 'T.Test是自己用vb写的
Dim a As fok
s.OnOk=getref("fok")
a.fok()
msgbox "OK"
end sub
=============================
vb:
Test.cls中代码
Private Sub Class_Terminate()
call HasOK
End Sub
sub HasOK
'这里开始代用外部的函数fok
'.......
end sub