Information générale
Titre:
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
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement