在老ASP中使用物件的物件生存期問題

2021-09-05 13:22:14 字數 732 閱讀 3038

你可能知道在老asp中,用vbscript還是可以寫一些基於物件的程式的。但是你或許會對物件的生存期有一些疑惑。

建構函式 & 析構函式

private

subclass_initialize

end sub

private

subclass_terminate

end sub

endclass

通過在析構函式中列印乙個字串獲得了物件生存期的確切印證

set someobject = nothing

這樣做的意義在於把乙個繫結到了乙個物件上的名稱someobject從這個物件中解脫出來,成為乙個未繫結的名稱。但是並不一定意為著被繫結的物件會被釋放。如果

set someobject1 = new csomeclass

set someobject2 = someobject1

set someobject1 = nothing

這樣就不會析構物件。因為仍然有someobject2繫結到了物件上,也就是說兩個名稱其實本來繫結到的是同乙個物件。

頁面結束

沒有人工釋放的物件會在頁面執行結束的時候自動釋放

區域性物件

在sub和function中生成的物件,如果不是作為返回值返回了,而且返回值用名稱繼續繫結了,都會在過程結束的時候自動釋放

VB中使用ASP物件例項

開發步驟 1.新建立activex dll 專案 2.修改project 名稱 3.修改module名稱 4.新增引用 在nt和98下開發時,必須在專案中引用microsoft transaction server type library,在windows 2000下開發,必須引用com serv...

VB中使用ASP物件例項

開發步驟 1.新建立activex dll 專案 2.修改project 名稱 3.修改module名稱 4.新增引用 在nt和98下開發時,必須在專案中引用microsoft transaction server type library,在windows 2000下開發,必須引用com serv...

c 四種不同的物件生存方式

在c 中,有四種方法可以產生乙個物件。第一種方法是在堆疊 stack 之中產生它 void myfunc 第二種方法是在堆積 heap 之中產生它 void myfunc 第三種方法是產生乙個全域物件 同時也必然是個靜態物件 cfoo foo 在任何函式範圍之外做此動作 第四種方法是產生乙個區域靜態...