I'm getting the error that says 'your app just wrote
to memory location 0x0BLAH...' - basically, I didn't
allocate enough memory with my buffer.

I'm simply trying to create a list of 1 to n, where n
is a random number from 1 to 10.  I can't find any
pattern in when the error occurs; it will crash on the
6th iteration when I'm trying to create 8, or on the
3rd iteration when I'm trying to create 4, etc. etc. 
What am I doing wrong?

Here's the code:

static Char ** diffs (defined as static so it will
hang around long enough
for the list to use it, then freed upon FrmClose)
static void CreateDiffList() {
 int d=0;

 level = GetRandom(10)+1;
 diffs = (Char **) MemPtrNew (level * 3 *
sizeof(Char));

 for (d; d < level; d++) {
  diffs[d] = (Char *) MemPtrNew(3 * sizeof(Char));
  if ( d<9) {
   StrCopy(diffs[d], " ");
   StrIToA(SBuf2, d+1);
   StrCat(diffs[d], SBuf2);
  } else { StrCopy(diffs[d], "10");
  } StrCopy(SBuf2, diffs[d]);
 }

 LstSetListChoices(GetObjectPtr(StartDifficultyList),
diffs, level);
 LstSetSelection(GetObjectPtr(StartDifficultyList),
level-1);

}

Thanks

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

Reply via email to