问题我自己解决了.觉得很奇怪的一点.发出来希望有人知道派生方法:(错误)Public Cache As Cache在Class_Initialize()中 Set Cache = New Cache出错:未设置对象变量或 With block 变量 派生方法:(错误) Public Property Get Cache() Set Cache = New Cahce End Property使用VB类的向导: 'Public Property Get Character() As Character ' If Character Is Nothing Then ' Set Character = New Character ' End If ' Set oCharacter = Character 'End Property ' 'Public Property Set Character(vData As Character) ' Set Character = vData 'End Property两种方法结果: 所有使用都正确.函数.过程. 就连Response.Request等都正常. 就是在引用ASP内制对象的时候出现.Application和Session出错错误信息:函数需要字符串输入。 最终解决方法: Public Cache As New Cache我就很奇怪.这几种写法难道有什么区别么?至少 Public Cache As Cache Set Cache = New Cache和Publuc Cache As New Cache 也有区别?望高手指教.
我认为问题是在于: 如果你的 CACHE是一个对象,你需要SET OR NEW,如果是个类型,则不需要。我在做OCX时,向导生成的代码中有这样的提示。你可以创建一个OCX,添加一个对象属性和其他一般属性,看看他的提示信息。 就SET,MSDN中有解释。挺详细的。
Set Cache = New Cache出错:未设置对象变量或 With block 变量
派生方法:(错误)
Public Property Get Cache()
Set Cache = New Cahce
End Property使用VB类的向导:
'Public Property Get Character() As Character
' If Character Is Nothing Then
' Set Character = New Character
' End If
' Set oCharacter = Character
'End Property
'
'Public Property Set Character(vData As Character)
' Set Character = vData
'End Property两种方法结果:
所有使用都正确.函数.过程.
就连Response.Request等都正常.
就是在引用ASP内制对象的时候出现.Application和Session出错错误信息:函数需要字符串输入。 最终解决方法:
Public Cache As New Cache我就很奇怪.这几种写法难道有什么区别么?至少
Public Cache As Cache
Set Cache = New Cache和Publuc Cache As New Cache
也有区别?望高手指教.
如果你的 CACHE是一个对象,你需要SET OR NEW,如果是个类型,则不需要。我在做OCX时,向导生成的代码中有这样的提示。你可以创建一个OCX,添加一个对象属性和其他一般属性,看看他的提示信息。 就SET,MSDN中有解释。挺详细的。