网站制作中会遇到很多问题,比如我们今天说到的未设置对象变量或 With block 变量错误,这是怎么回事呢?
小编分析了一下,ASP利用VB转换为Dll的时候出现,原因可能有以下:
1:对象没有实例化,就被引用了。
2:在2000下。请查看是否有引用。
COM+ Services Type Library(以前的版本中好像是MTS组件)还有一种就是没有把组件注册到com+组件管理器中,而导致setcomplete和setabort无法使用报错未设置对象变量或 With block 变量,如果是这个错误的话(未设置对象变量或 With block 变量 错误),就应该是没有用 set 对象 或者用 new,还有一种不太容易发现的错误Dim Rs As Adodb.Recordset。
然后在function或sub中,对rs进行事例话后,如:
Set Rs = New ADODB.Recordset
.....
Set Rs = Nothing
此时你可能对这个过程或函数进行重复使用,如递归,就会发现出现上述错误。
原因是在函数中已经把事例对象给Nothing了,在Set 的时候,Rs不存在,导致出错,此时候.应该避免全局变量的时候,在过程或函数中使用Dim Rs As New ADODB.Recordset肯定是没有初始化一个对象。
如果在Dll中引用了类型库,那么在调用Dll的应用中也要引用该类型库,否则将提示变量的With域没有定义的错误。如果你存在网站制作难题,欢迎咨询成都创新互联网站建设,我们竭诚为您服务。