General information
Title:
Collection with multiple refs to the same object - Bug ?
Hi all,
today I went into some strange behavior - I isolated it to the collections garbage collection. Lets have a class with a "Release This" in one of its methods - Form ie provide this - to see if its Destroy() was fired, it creates a public variable in the Init() and releases it in Destroy() :
DEFINE CLASS _Form AS Form
PROTECTED PROCEDURE Init AS VOID
PUBLIC gbIamHere
DODEFAULT()
ENDPROC
PROTECTED PROCEDURE Destroy AS VOID
Release gbIamHere
DODEFAULT()
ENDPROC
ENDDEFINE
Now do this :
o = CREATEOBJECT('Collection')
o2 = CREATEOBJECT('_Form')
SET STEP ON * now we see the gbIamHere var in debug-window
o.Add(o2,'First')
o.Add(o2,'Second')
o2.Release()
SET STEP ON * -> o2 = .NULL.;o.Count = 0 this should be so, BUT gbIamHere is still visible -> Destroy has not fired -> internal dangling object-reference
Because I wanted a collection to save same references with different keys this is really annoying !
We should call this a bug, shouldn't we ?
Regards
Matthias
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only