none
Set Nothing問題 RRS feed

解答

  • ...

    Dim a As New abc 並不會立即建立實體,而在第一次使用到該方法或屬性時,才會建立實體。

    Set a = New abc 則會立即建立實體。

    Set a = Nothing 並不會消滅物件,只會將物件的參照數減 1,當參照數歸 0 時,VB6 會在空閒時進行釋放,也不是立即釋放。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年8月12日 下午 12:29

所有回覆

  • Dim a As abc
    
    Set a = New abc
    
    Set a = Nothing
    
    是說VB6嗎?曾經在一本華彩出版的微軟書看到,若宣告時直接New的話,VB runtime會代管釋放記憶體,Set Nothing無作用,但可能會不受控制,記憶體越佔越大,參考以上的架構,可能會比較好...

    2010年8月12日 上午 06:57
  • ...

    Dim a As New abc 並不會立即建立實體,而在第一次使用到該方法或屬性時,才會建立實體。

    Set a = New abc 則會立即建立實體。

    Set a = Nothing 並不會消滅物件,只會將物件的參照數減 1,當參照數歸 0 時,VB6 會在空閒時進行釋放,也不是立即釋放。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年8月12日 下午 12:29