2011年9月27日 星期二

#VB Excel元件 資源釋放問題


'Excel 資源釋放問題,
發現說該宣告nothing的都宣告了
該 System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
也都呼叫了

變成說他會釋放,但不是立即

GC.Collect() : GC.WaitForPendingFinalizers()
宣告的位置很重要
因為叫用Excel元件在另外一個Form
該Form建立叫用完Excel元件以後
回到原本的Form,此時呼叫 GC
並且 WaitForPendingFinalizers
就可以完全釋放

目前測試還OK

沒有留言:

張貼留言