There are a couple of white papers on memory and data management at 3Coms'
developer web...
http://www.palm.com/devzone/docs/memarch/memarch.html
http://www.palm.com/devzone/docs/memarch/memarch3.html
There's also articles on the subject here...
http://www.palm.com/devzone/docs/hhsm_articles.html
> -----Original Message-----
> From: Dan Massey [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, May 06, 1999 5:25 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Wicked Confused about memory
>
> The Companion pdf from the Palm Developer site has a solid section on the
> Palm Memory Architecture, Memory Management and the Memory Manager.
>
> -----Original Message-----
> From: Alan Pinstein <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Date: Thursday, May 06, 1999 4:21 PM
> Subject: Re: Wicked Confused about memory
>
>
> >I don't personally know of any books on the subject. When I started out,
> I
> >just had lots of long conversations in front of a whiteboard with a
> >colleague who was a CS major. That woud be your best option. I am sure
> that
> >someone could recommend a book, though.
> >
> >
> >Alan Pinstein
> >Synergy Solutions, Inc.
> >http://www.synsolutions.com
> >1-800-210-5293
> >
> >
> >>Point well taken. I see now that having just the basic grasp of how
> memory
> on
> >>the palm works is not enough.. I have learned a lot during my trials
> and
> >>tribulations. :)
> >>
> >>Can you suggest where I can read-up on this stuff. The O'Riely book
> glazes
> >>over it as if I allready have an understanding. (which I thought I did!
> )
> I
> >>guess I just know the basics of memory and not the nitty gritty
> details..
> I'm
> >>all for learning.. I'm not sure where I start..
> >>
> >>Thanks Again,
> >>
> >>Philip J.
> >>
> >>Alan Pinstein wrote:
> >>
> >>> Well, there's a few issues here. First of all, what is
> StaticRecordingInfo?
> >>> If the NameString member isn't the correct size, then the StrCopy()
> will
> >>> definitely cause problems... is the NameString member a char* or a
> >>> char[SOME_LENGTH]? If it's a char*, you also need to allocate memory
> to
> it.
> >>>
> >>> Second of all, you are leaking memory. Since LCurrentStatPtr is a
> local
> >>> var, it is going out of scope at the end of this function and you
> never
> >>> free it.
> >>>
> >>> Not to be harsh, but you have a lot to learn about Memory Management.
> If
> I
> >>> were you, I'd read up as much as possible about Palm OS memory
> management,
> >>> and Memory management in general. If you don't understand how memory
> works
> >>> in programming, you will have permanent headaches trying to program. I
> >>> should know, I had a headache for the first few months I was
> programming
> >>> Palm ;) Being a master at how memory works isn't an option in
> programming.
> >>> It's simply a necessity.
> >>>
> >>> Good luck,
> >>>
> >>> Alan Pinstein
> >>> Synergy Solutions, Inc.
> >>> http://www.synsolutions.com
> >>> 1-800-210-5293
> >>>
> >>> >Hi all,
> >>> >
> >>> >thanks for you plethora of suggestions on my last problem..
> >>> >
> >>> >I keep getting a bus err with this little chunk of code. . I'm
> following
> >>> >examples in the O'r book.. and Cripes! I can't figure out why. I'm
> sure
> >>> >it has something to do with my complete lack of understanding.. but I
> >>> >thought one second from yall would save me hours. :) Thanks..
> >>> >
> >>> >static Boolean DatabaseOkButtonHook(void)
> >>> >{
> >>> > StaticRecordingInfo *LCurrentStatPtr;
> >>> > FieldPtr fld = GetObjectPtr(databaseNameStringField);
> >>> >
> >>> > gCurrentStatHand = MemHandleNew(sizeof (StaticRecordingInfo));
> >>> > LCurrentStatPtr = MemHandleLock(gCurrentStatHand);
> >>> >
> >>> > //here we're copying the new database name into memory
> >>> > if (FldGetTextPtr(fld) != NULL)
> >>> > {
> >>> > StrCopy(LCurrentStatPtr->NameString, FldGetTextPtr(fld));
> >>> > }
> >>> > MemHandleUnlock(gCurrentStatHand);
> >>> >
> >>> > if ( checkDBName(LCurrentStatPtr->NameString) )
> >>> > {
> >>> > FrmGotoForm(RecordForm);
> >>> > }
> >>> > else
> >>> > {
> >>> > FrmAlert(DbnameAlert);
> >>> > }
> >>> > return 0;
> >>> > }
> >>> >
> >>> >Any ideas?
> >>> >
> >>> >Thanks again,
> >>> >
> >>> >Philip J.
> >
> >
> >
> >
>