Well, I fixed the error - I moved the
FrmGetActiveForm() call to inside the case, rather
than just inside the switch, and everything's hunky
dory... so while I try to figure out why DmNewRecord's
doing stuff w/ low memory, can anyone explain why I
was getting that error message to begin with? I'm not
changing the form I'm using, I just changed the code
from:
switch(...)
{
frmP=FrmGetActiveForm();
to
switch(...)
{
case xyz:
frmP=FrmGetActiveForm();
(And if you have any ideas why DmNewRecord is dealing
w/ low memory, feel free to pass that on as well...)
Thanks :-)
-Craig
--- Craig Belson <[EMAIL PROTECTED]> wrote:
> Ok, I realized I glossed over some of the details by
> accident - I'll pick apart your response and add
> them
> in... :-)
> --- Keith Rollin <[EMAIL PROTECTED]> wrote:
> > At 10:27 PM -0700 6/1/02, Craig Belson wrote:
> > >I have 5 fields that can accept text, and a
> struct
> > that I created
> > >that consists of 5 chars. What I'm looking to do
> > is store the text
> > >input in the fields in the struct, the first
> field
> > to the first
> > >char, etc...
> >
> > I guess I'm still not getting it. How are you
> > assigning a whole
> > field to just a single char? Do your fields
> accept
> > only a single
> > character? Or are you snagging just the first
> > character from each
> > field?
> >
> Sorry - I meant to say char[]s... when my friends
> and
> I are discussing code, we just say char, so I didn't
> even realize I typed it that way...
>
>
> > >The way I was taught to do this would be to get a
> > FieldPtr for the
> > >first field, then get the text pointer for the
> > contents of the field
> > >- from there, we could write the text to our
> > struct... (so if that's
> > >bad like you said, don't blame me, blame my CS
> > professor. *smiles*)
> >
> > I didn't say that was bad. I said that accessing
> a
> > form's data
> > directly was bad. More explicitly, using
> > "frmP->objects->object" is
> > bad.
> >
> I don't use that directly - I discovered that it's
> frmP->objects->object via the debugging window in
> Codewarrior
>
>
> > The title of your e-mail said "FrmGetObjectPtr
> > question", but I've
> > yet to see you actually use FrmGetObjectPtr.
> I cast the result of the function call - it ends up
> being
>
frmP=(FieldPtr)FrmGetObjectPtr(frmP,FrmGetObjectIndex(frmP,EnterInfoAlbumNameField));
>
> >
> > However, since you *are* accessing data members
> > directly, you might
> > be able to narrow down your crash by breaking
> things
> > up. Access
> > "frmP->objects" first, then
> "frmP->objects->object".
> > The one that
> > causes your crash might tell you something. For
> > instance, if the
> > first one causes the crash, then you know that
> > "frmP" is invalid for
> > some reason.
> I set frmP with (go figure) FrmGetActiveForm() in
> the
> switch, but before any of the cases... so, for the
> sake of argument, if the address for frmP ends in A,
> for frmP->objects ends in C, and
> frmP->objects->object
> ends in E (I know that's not how it actually is, but
> for the sake of the example, let's just call it
> that),
> I compared the address of the bus error to the
> addresses listed in the debugging window, and it
> matched up with frmP->objects->object perfectly -
> all
> the way down to the E.
>
>
> Clear things up any? Sorry for being a bit
> confusing... :-)
>
> -Craig
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! - Official partner of 2002 FIFA World Cup
> http://fifaworldcup.yahoo.com
>
> --
> For information on using the Palm Developer Forums,
> or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/