如何检查对象是否在应用程序对象内
How to check if object is inside Application object
我认为这很容易,但下面的代码给出了...
Microsoft VBScript runtime error '800a01a8'
Object required: 'Application(...)'
/include/setup.asp, line 7
Function getConnectionString
Dim connectionString
Set connectionString = Application("ConnString")
If connectionString Is Nothing Then
Set connectionString = loadConnectionString
Application.Lock
Application("ConnString") = connectionString
Application.Unlock
End If
getConnectionString = connectionString
End Function
loadConnectionString
是另一个函数。
我该如何解决这个问题?
这里的问题是 connectionString
变量被视为 Object
而实际上它包含 string
.
Set
应该只用于存储 Object
变量,这也适用于 Application("varname")
样式变量。删除 Is Nothing
检查,因为这也指的是 Object
变量,并将其替换为 Len(connectionString) < 1
检查。
Function getConnectionString()
Dim connectionString
connectionString = Application("ConnString")
If Len(connectionString & "") < 1 Then
'loadConnectionString() should return a string not an Object
'may need to be amended.
connectionString = loadConnectionString()
Application.Lock
Application("ConnString") = connectionString
Application.Unlock
End If
getConnectionString = connectionString
End Function
我认为这很容易,但下面的代码给出了...
Microsoft VBScript runtime error '800a01a8'
Object required: 'Application(...)'
/include/setup.asp, line 7
Function getConnectionString
Dim connectionString
Set connectionString = Application("ConnString")
If connectionString Is Nothing Then
Set connectionString = loadConnectionString
Application.Lock
Application("ConnString") = connectionString
Application.Unlock
End If
getConnectionString = connectionString
End Function
loadConnectionString
是另一个函数。
我该如何解决这个问题?
这里的问题是 connectionString
变量被视为 Object
而实际上它包含 string
.
Set
应该只用于存储 Object
变量,这也适用于 Application("varname")
样式变量。删除 Is Nothing
检查,因为这也指的是 Object
变量,并将其替换为 Len(connectionString) < 1
检查。
Function getConnectionString()
Dim connectionString
connectionString = Application("ConnString")
If Len(connectionString & "") < 1 Then
'loadConnectionString() should return a string not an Object
'may need to be amended.
connectionString = loadConnectionString()
Application.Lock
Application("ConnString") = connectionString
Application.Unlock
End If
getConnectionString = connectionString
End Function