AnsweredAssumed Answered

vrf Message 'deactivate' sent to freed object

Question asked by VRFuser on Dec 10, 2001
Just a guess, but...

>The latest clue has presented itself
>as "Internal Error: Message
>'deactivate' sent to freed object"
>Object title was in a HidePanel ()
>Object type:Formula

Well, I can't help much, but it sure sounds as if all this is is a
verification that failed. Like, if I do:

VERIFY(IsWindow(NULL));

It'll generate an exception always. If this were an actual
Win32-from-conception product, it would kind of translate to trying to send
a message to a window that no longer exists. In Windows, this is really no
big deal. Especially a message like WM_DEACTIVATE. But this is an X port and
I have no idea how much "X" is left in it. It may be that sending a message
to a non-existant object is a big-time X no-no. I don't know thing one about
X.

OTOH, it may be that Agilent came up with most of their own handling stuff
and this is primarily a VEE thing. IOW, they're not using X or Windows
window management, but their own. In that case, only Agilent knows.

Thinking back though, I remember getting this once or twice. Next time you
run across this, check on the working set size of VEE with the process
viewer (pview or pview95). If it's close to the machine's maximum capacity,
watch out! I'm pretty sure VEE uses it's own memory manager and it does some
pretty strange things when it gets stressed out.

If this is a 24/7 application, do things like explicitly deleting
allocations. I know it's supposed to do that by itself, but you know. Just
do it anyway. If you're using error pins, try to arrange things so that they
fire VERY infrequently. The fewer error pins that ping the longer you're
application will run before it blows up.

We programmers are quite fond of saying, "there's no right or wrong way,
just 'Yet Another Way'". This is definitely NOT quite so true of VEE. I
still wouldn't say right and wrong, but there are at least ways and much,
much better ways.

The hardest thing for me to get was just that. Trying to cope with VEE's
preferred ways of doing things. Like loops for instance. I just didn't get
it at first. After spending half a life programming in dozens of different
languages, you tend to forget that a language can very well *force* you into
a certain mindset.

If you're an engineer it probably doesn't matter that much as you don't have
any preconceptions. If you're a programmer though, watch it. VEE can bite
you hard and your "DOH Hammer" is going to get a lot of use.
-SHAWN-


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. is the "vrf" maillist, managed by Majordomo.  To send messages to
this maillist, just email to "vrf@lvld.agilent.com".  Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------

Outcomes