Shadowedvaca
asked on
Unloading An Array Of Objects
Quick question here. I have am working in Access 2000 using vba. I have an array of custom classes in my program. When I am done w/ the array can I just erase the objects or do I have to loop thru the array and set each object = nothing first?
Code Example: (How it works now)
Dim a As Integer
Dim Managers() As Object
a = 1
Do
a = a +1
ReDim Preserve Managers(a)
Set Managers(a) = New ReportingLevel
Loop Until a > 10
Erase Managers
Just want to make sure my code is as clean as I can get it. :-)
Thanks,
Mike
Code Example: (How it works now)
Dim a As Integer
Dim Managers() As Object
a = 1
Do
a = a +1
ReDim Preserve Managers(a)
Set Managers(a) = New ReportingLevel
Loop Until a > 10
Erase Managers
Just want to make sure my code is as clean as I can get it. :-)
Thanks,
Mike
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thank you guys for your explanation in the background. Always nice to understand what I am doing. Decided to give you all 50 points since you all helped me understand what I was doing.
Thanks,
Mike
Thanks,
Mike
ASKER
didn't notice that Carl posted twice. My bad... Thanks for the help!!!
carl_tawn's comment isn't entirely accurate either. You do not have to explicitly set an object to nothing to destroy it. Simply going out of scope (e.g. if the object was defined inside a function) or erasing an array that points to some objects (as in your code) will be sufficient to destroy the objects and free the memory used by them.
a = 0 ' not a=1 otherwise your object will start at Managers(2)
Do
a = a +1