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.