2011-01-20 58 views
7

當我執行的語句,如VB6類是否具有析構函數?

Set MyObject = Nothing 

是有被調用的類中的特定功能(即我可以作爲一個析構函數使用),從數據庫做的事情一樣清理陣列,斷開連接,等等?

回答

16

類似於Class_Initialize,構造,還有一個析構函數:

Sub Class_Terminate 
    ... ' Put your destructor code here ' 
End Sub 

被儘快執行該方法該對象的引用計數達到零,即當引用此對象的所有變量已超出範圍或已被設置爲設置爲其他值時(例如Nothing)。因此,如果MyObject是引用此對象的最後一個變量,則Set MyObject = Nothing將僅調用析構函數。

-1

編號VB6沒有提供任何機制讓程序員明確地寫一些東西。程序員可以做的是Set MyObject = Nothing,而VB將負責其餘部分。

UPDATE:

人們可以使用Class_Terminate來處理這個

+2

不正確。當一個對象超出範圍或被設置爲Nothing時,`Class_Terminate`方法被觸發。 – 2011-01-20 16:09:28

+0

對不起!立場糾正。 – Kangkan 2011-01-21 09:10:58

相關問題