Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Collection with multiple refs to the same object - Bug ?
Message
De
28/10/2003 12:33:35
Matthias Will
BiCON Systemtechnik GmbH
Karlsruhe, Allemagne
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
Collection with multiple refs to the same object - Bug ?
Divers
Thread ID:
00843625
Message ID:
00843625
Vues:
46
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
Fil
Voir

Click here to load this message in the networking platform