Dan,


Are you sure about your analysis? DmReleaseResource doesn't do anything.
It's a simple "return 0;" statement. Additionally, the only part of the ROM
that reports "Not a Handle" is MemPtrRecoverHandle. It will report this if
the pointer passed in is deleted (or if the hOffset field in the chunk
header is NULL).


I think we make the ROM source code available so that you can easily find
out answers to questions like yours.


-- Keith Rollin






Dan Hewins <[EMAIL PROTECTED]> on 04/07/99 02:38:32 PM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:    (Keith Rollin/HQ/3Com)
Subject:  Re: Flash Errors (cause of (my) crash)




I narrowed the problem down to one call.  I have a few bitmaps that I use
over and over again in my app so in StartApplication I do the following for
each one:
     resH = DmGetResource(bitmapRsc, TriggerClosedBitmap);
     ErrFatalDisplayIf(!resH, "Missing Closed Trigger bitmap");
     TriggerClosed = MemHandleLock(resH);
Then from my StopApplication id do this for each one:
     resH = MemPtrRecoverHandle(TriggerClosed);
     ErrFatalDisplayIf(!resH, "Missing Closed Trigger bitmap");
     MemHandleUnlock(resH);
     DmReleaseResource(resH);
The call to DmReleaseResource is what's causing the crash when my app is in
Flash.  The error I get is: "MemMgrNew.c line 1812: Not a Handle"
Here's a question: What does DmReleaseResource do, exactly?  Is there any
way around this if my app is in Flash?  Help appreciated.
Thanks,
Dan Hewins
Synergy Solutions, Inc.










Reply via email to