網(wǎng)站制作中會遇到很多問題,比如我們今天說到的未設(shè)置對象變量或 With block 變量錯(cuò)誤,這是怎么回事呢?
小編分析了一下,ASP利用VB轉(zhuǎn)換為Dll的時(shí)候出現(xiàn),原因可能有以下:
1:對象沒有實(shí)例化,就被引用了。
2:在2000下。請查看是否有引用。
COM+ Services Type Library(以前的版本中好像是MTS組件)還有一種就是沒有把組件注冊到com+組件管理器中,而導(dǎo)致setcomplete和setabort無法使用報(bào)錯(cuò)未設(shè)置對象變量或 With block 變量,如果是這個(gè)錯(cuò)誤的話(未設(shè)置對象變量或 With block 變量 錯(cuò)誤),就應(yīng)該是沒有用 set 對象 或者用 new,還有一種不太容易發(fā)現(xiàn)的錯(cuò)誤Dim Rs As Adodb.Recordset。
然后在function或sub中,對rs進(jìn)行事例話后,如:
Set Rs = New ADODB.Recordset
.....
Set Rs = Nothing
此時(shí)你可能對這個(gè)過程或函數(shù)進(jìn)行重復(fù)使用,如遞歸,就會發(fā)現(xiàn)出現(xiàn)上述錯(cuò)誤。
原因是在函數(shù)中已經(jīng)把事例對象給Nothing了,在Set 的時(shí)候,Rs不存在,導(dǎo)致出錯(cuò),此時(shí)候.應(yīng)該避免全局變量的時(shí)候,在過程或函數(shù)中使用Dim Rs As New ADODB.Recordset肯定是沒有初始化一個(gè)對象。
如果在Dll中引用了類型庫,那么在調(diào)用Dll的應(yīng)用中也要引用該類型庫,否則將提示變量的With域沒有定義的錯(cuò)誤。如果你存在網(wǎng)站制作難題,歡迎咨詢成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè),我們竭誠為您服務(wù)。