新建一个activex,创建一个module,把asp环境的6个对象的在这里用public声明
然后创建5个class modules每个里面都有
Option Explicit
Implements ObjectControlPrivate Sub ObjectControl_Activate()
On Error GoTo enderr
    
    Set objContext = GetObjectContext()
    Set comServer = objContext("Server")
    Set comResponse = objContext("Response")
    Set comRequest = objContext("Request")
    Set comApplication = objContext("Application")
    Set comSession = objContext("Session")
enderr:
If Err Then
writelog (Err.Number & Err.Description)
End If
End Sub
Private Function ObjectControl_CanBePooled() As Boolean
    ObjectControl_CanBePooled = False
End Function
Private Sub ObjectControl_Deactivate()
End Sub
不知道这样作对不对??顺便问一下,除了public private,有没有什么关键字可以使所声明的函数或变量仅在此activex内可访问???比如其他语言的protect

解决方案 »

  1.   

    vb中好像没有,frient和protect是截然不同的两个概念。
      

  2.   

    数据库连接是放在类模块中
    Private myscriptingcontext   As ScriptingContext
    Private myapplication   As Application
    Private myrequest   As Request
    Private myresponse   As Response
    Private myserver   As Server
    Private mysession   As SessionPublic Sub onstartpage(passedscriptingcontext As ScriptingContext)
    Set myscriptingcontext = passedscriptingcontext
    Set myapplication = myscriptingcontext.Application
    Set myrequest = myscriptingcontext.Request
    Set myresponse = myscriptingcontext.Response
    Set myserver = myscriptingcontext.Server
    Set mysession = myscriptingcontext.Session
    End SubPublic Sub onendpage()
    Set myscriptingcontext = Nothing
    Set myapplication = Nothing
    Set myrequest = Nothing
    Set myresponse = Nothing
    Set myserver = Nothing
    Set mysession = Nothing
    End Sub