Hi,

thank for your fast answer, but i am not sure if i understand you correct.

I thougth i must call MemHandleLock before doing something with the handle!

Thanks
Peter

"Chris Apers" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
news:[EMAIL PROTECTED]
> You call MemHandleLock before MemHandleResize this is why you have
> this error.
>
> ----- Original Message ----- 
> From: "Pit" <[EMAIL PROTECTED]>
> Newsgroups: palm-dev-forum
> To: "Palm Developer Forum" <[EMAIL PROTECTED]>
> Sent: Monday, April 19, 2004 3:54 PM
> Subject: Problem with MemHandleResize - memErrChunkLocked
>
>
> > Hi folks,
> >
> > im having troubles with the MemHandleResize-function. I use this
function
> in
> > the following code:
> >
> > When i call this function 4 times: everthing is OK!
> > When i call it the fifth time, i get an memErrChunkLocked-error.
> >
> > I dont know why this happens, and i m getting more and more frustrated.
I
> > hope there is anybody, who
> > can point me to the problem and hopefully to the solution.
> >
> > Best Regards
> > Peter
> >
> >
> > static void SaveIT (char* it) {
> >  Err error;
> >  MemHandle itHandle;
> >  MemHandle itemHandle;
> >  UInt16 oldSize;
> >  int position;
> >
> >  if (myAppPrefs.it== NULL) {
> >       itHandle= MemHandleNew (sizeof (char*));
> >       myAppPrefs.it= MemHandleLock (itHandle);
> >           itemHandle = MemHandleNew (StrLen (it) + 1);
> >           myAppPrefs.it[0] = MemHandleLock (itemHandle);
> >           StrCopy (myAppPrefs.it[0], it);
> >           MemHandleUnlock (itemHandle);
> >       MemHandleUnlock (itHandle);
> >  }
> >  else {
> >       itHandle= MemPtrRecoverHandle (myAppPrefs.it);
> >       oldSize = MemHandleSize (itHandle);
> >       position = oldSize / sizeof (char*);
> >
> >       MemHandleLock (itHandle);
> >       error = MemHandleResize (itHandle, oldSize + sizeof (char*));
> >       if (error == memErrChunkLocked) {
> >            PrintToField ("memErrChunkLocked");
> >       }
> >
> >           itemHandle = MemHandleNew (StrLen (it) + 1);
> >           myAppPrefs.it[position] = MemHandleLock (itemHandle);
> >           StrCopy (myAppPrefs.it[position], it);
> >           MemHandleUnlock (itemHandle);
> >
> >       MemHandleUnlock (itHandle);
> >  }
> > }
> >
> > The used struct, hast the following design
> >
> > typedef struct {
> >  int number;
> >  char** nothing;
> >  char** it;
> > } AppPrefs;
> > AppPrefs myAppPrefs = {-1, NULL, NULL}; // Initialization
> >
> >
> >
> > -- 
> > For information on using the Palm Developer Forums, or to unsubscribe,
> please see http://www.palmos.com/dev/support/forums/
> >
>



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

Reply via email to