VB6错误:对象变量或未设置块变量



我明白了

"dblog"子函数中的"对象变量或未设置块变量">

在这一行中,我猜是带有"m_Session"

If iType >= Int(m_Session("_SysParam_LogLevel")) Then

我的代码


Private m_Session As ASPTypeLibrary.Session
Public Function InitializeSite(Optional intCheckMode As Integer = 0) As Boolean
InitializeSite = False
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
DBLog "Initializing started - "
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = DBConnection
end with
end function
Public Sub DBLog(ByVal sTxt As String, Optional ByVal iType As Integer = 0, Optional ByVal sCategory As String = "DEBUG")
'On Error Resume Next
Dim cmd As ADODB.Command
If iType >= Int(m_Session("_SysParam_LogLevel")) Then
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = DBConnection
End With
End If

Set cmd = Nothing
On Error GoTo 0
End Sub
Property Get DBConnection() As String
DBConnection = IIf(Not IsNull(m_Session("_SysParam_DBConnection")), m_Session("_SysParam_DBConnection"), "")
End Property

请帮助我前进。

函数 InitializeSite 也应该在调用 DBLog sub 之前初始化变量m_Session,或者您可以在 DBLog sub 中添加修改代码

If m_Session Is Nothing Then Exit Sub 

一开始。

或者你可以初始化变量m_Session将此子添加到你的类中

Public Sub OnStartPage(SC As ASPTypeLibrary.ScriptingContext)
Set m_Session = SC.Session
End Sub

看看如何将ASP经典会话变量从ASP共享到VB6?

尝试将第一行代码替换为:

Private m_Session As new ASPTypeLibrary.Session

最新更新