Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Circular reference conondrum
Message
 
 
To
05/08/2005 12:11:30
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
SAMBA Server
Database:
MySQL
Miscellaneous
Thread ID:
01038909
Message ID:
01038915
Views:
17
Add Release method to you class and put code there. The object will have to be released through oDad.Release().

>I near the end of implementing something that I probably overengineered to begin with (UML tools can be dangerous in the wrong hands). I know I should go back and re-engineer it, but I'm close to done, and I really NEED to be done.
>
>For reasons that will probably turn out to be frivolous, I have objects that work something like this:
>
>
>DEFINE CLASS Dad AS Custom
>  oMyBoy= .NULL.
>
>  FUNCTION init
>    oMyBoy = createObject("Bobby")
>    oMyBoy.oMyDad = This
>  ENDFUNC
>
>ENDDEFINE
>
>DEFINE CLASS Bobby AS Custom
>  oMyDad = .NULL.
>ENDDEFINE
>
>oDad = createObject("Dad")
>
>
>
>...which works fine for my nefarous purposes, however, it also has an ugly problem when you want to release oDad.
>
>RELEASE oDad releases the reference oDad, but it leaves Dad and son floating around out there with no external reference...the oMyBoy.oMyDad Reference sustains it. I know its still out there, because stuff in destroy() doesnt run until I do a CLEAR ALL
>
>I currently have a function that nulls the inside references (the actual construct is a tree), but having to call this before releasing the object is very bothersome to me. I would be embarrased to have somebody see it in my code.
>
>I could live with putting my call to null the references in destroy(), but it appears destroy won't fire until all the references are cleared.
>
>Does anybody know of a method I could stick my reference nuller in that fires when the external reference is released?
>
>TIA
>
>Russ
--sb--
Previous
Reply
Map
View

Click here to load this message in the networking platform