I'm having trouble with my first attempt to read off an Application Info
Block from a database [a short list of strings created by a conduit].
Everything seems to run fine, but when execution goes into a following
method, the execution bombs out on an attempt to call MemPtrNew.

I've included a pruned down copy of the code I use in the method. I'm
unlocking the pointer I got from MemLocalIDToLockedPtr - am I perhaps meant
to use some method to release the LocalIDs that get returned, as well?

Thanks for any help.


void static LoadDbAppInfo(FormPtr frmP, DmOpenRef dbP)
{
  LocalID dbID, appInfoIDP;
  unsigned short cardNo;
  int catCtr;
  char *p;

  dbID = NULL; appInfoIDP = NULL;

  if (dbP == NULL) goto FillOutList;

  if (DmOpenDatabaseInfo(dbP, &dbID, NULL, NULL, &cardNo, NULL)) goto
FillOutList;

  if (DmDatabaseInfo(0, dbID, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
        &appInfoIDP, NULL, NULL, NULL)) goto FillOutList;
  if (!appInfoIDP) goto FillOutList;

  p = (char *) MemLocalIDToLockedPtr(appInfoIDP, cardNo);

FillOutList:

  ...Here I process the data block, or do some default handling if there was
none ...

  // Release the resources
  if (p) MemPtrUnlock(catListP);
}



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to