You can use the AutoDispose pragma to automatically generate the code that correctly invoke the Dispose method of an IDisposable object when the object variable is set to Nothing or goes out of scope. However, the AutoDispose pragma assumes that the variable is never reused to reference another object. Consider the following scenario:
Dim rs As New Recordset
Set rs = New Recorset
Set rs = Nothing
The AutoDispose pragma forces VB Migration Partner to generate the following code:
Dim rs As New Recordset
Set rs = New Recorset
SetNothing6(rs)
It is quite evident that the above code correctly disposes of the second Recordset instance but not the first one. It is therefore necessary to manually insert either a Set rs = Nothing statement in the original VB6 code or a SetNothing6(rs) statement in the migrated code. In the latter case you can use an InsertStatement pragma:
Dim rs As New Recordset
Set rs = New Recorset
SetNothing6(rs)