释放函数中的对象

时间:2016-10-07 00:40:04

标签: function object vb6

我已经无数次地读过你应该总是在项目结束时释放对象,例如:

Sub Test()
    Dim obj As Object
    Set obj = GetObject(, "xxxxxx.Application")

    ' Code your project...

    Set obj = Nothing
End Sub

但是,我使用一个调用Excel对象的程序。我经常在很多不同的例程中调用Excel的对象,我决定使函数更简单:

Public Function appXL As Object
   Set appXL = GetObject(, "Excel.Application")
End Function

虽然这是一个非常简单的函数,但是我无法在我使用的任何子例程的末尾释放对象appXL,至少据我所知。但我有一个更大的担忧是使用appXL 100次以上的子程序实际上抓取对象的次数相同。

老实说,我不明白为什么这会是一个大问题,因为我使用GetObject而不是CreateObject。每次调用函数时,我都不是在创建一个新的Excel实例,所以在编码时我应该关注这个问题吗?我是否只需完全摆脱该函数并在我使用的每个例程上声明appXL,以便我最终能够释放它?

0 个答案:

没有答案