----- Original Message -----
From: Palm Developers Forum List <[EMAIL PROTECTED]>
To: Kevin Herbert <[EMAIL PROTECTED]>
Sent: Wednesday, June 23, 1999 7:23 AM
Subject: Re:remove
> Palm Developers Forum List, <mailto:[EMAIL PROTECTED]>
>
> You are receiving this message because your message was interpreted as a
> request to unsubscribe. Unfortunately, your email address could not be
> unsubscribed because it was not found in the list of subscribers.
>
> If you are still receiving messages, we probably have an outdated address
> listed in our subscriber lists. This commonly happens when your email
address
> changes or your server setup is modified slightly. You may not realize
that
> your address has changed; it may have happened due to a configuration
change
> from your service provider or a small change in your mail client settings.
>
> If you have problems, you can write to the Listmaster at
> <mailto:[EMAIL PROTECTED]>
>
>
> -------------------- Original Message Follows --------------------
>
> ----- Original Message -----
> From: Palm Developers Forum List <[EMAIL PROTECTED]>
> To: Palm Developers Forum List <[EMAIL PROTECTED]>
> Sent: Tuesday, June 22, 1999 11:59 PM
> Subject: Palm Dev Forum Digest 6/22/99
>
>
> > -> Re: True Recordsize
> > by Jim Schram <[EMAIL PROTECTED]>
> > -> Re: PilotGear not paying developers
> > by "Ray Rodrick" <[EMAIL PROTECTED]>
> > -> RE: error in loading large size app
> > by Ernst Steenbrink <[EMAIL PROTECTED]>
> > -> Re: True Recordsize
> > by "Dave Lippincott" <[EMAIL PROTECTED]>
> > -> Re: True Recordsize
> > by "Dave Lippincott" <[EMAIL PROTECTED]>
> > -> PowerOff timer
> > by Rolf Maag <[EMAIL PROTECTED]>
> > -> Field Error: Need suggestions
> > by "Michael S. Davis" <[EMAIL PROTECTED]>
> > -> Heap Limitations
> > by Greg Winton <[EMAIL PROTECTED]>
> > -> Re: Field Pointers: Data persistency
> > by Greg Winton <[EMAIL PROTECTED]>
> > -> Re: error in loading large size app
> > by Greg Winton <[EMAIL PROTECTED]>
> > -> Re: Field Error: Need suggestions
> > by "Chris Antos" <[EMAIL PROTECTED]>
> > -> Re: Field Error: Need suggestions
> > by "Michael S. Davis" <[EMAIL PROTECTED]>
> > -> Re: DmFindRecordByID
> > by Bill Goodman <[EMAIL PROTECTED]>
> > -> Re: DmFindRecordByID
> > by Jason Dawes <[EMAIL PROTECTED]>
> > -> Re: Field Error: Need suggestions
> > by [EMAIL PROTECTED]
> > -> Msg Boxes
> > by "Mike Smit" <[EMAIL PROTECTED]>
> > -> Re: Msg Boxes
> > by Mike Margerum <[EMAIL PROTECTED]>
> > -> Re: Msg Boxes
> > by [EMAIL PROTECTED]
> > -> Re: Msg Boxes
> > by Scott Johnson <[EMAIL PROTECTED]>
> > -> RE: Msg Boxes
> > by Dave Smith <[EMAIL PROTECTED]>
> > -> Re: Msg Boxes
> > by "Mike Smit" <[EMAIL PROTECTED]>
> > -> No Event Handler
> > by Oliver King-Smith <[EMAIL PROTECTED]>
> > -> RE: Msg Boxes
> > by Jason Garrett <[EMAIL PROTECTED]>
> > -> Re: Field Pointers: Data persistency
> > by "Neil Rhodes" <[EMAIL PROTECTED]>
> > -> Re: Palm Dev Forum Digest 6/21/99
> > by "Roger Chaplin" <[EMAIL PROTECTED]>
> > -> Re: DmFindRecordByID
> > by Richard Bram <[EMAIL PROTECTED]>
> > -> Re: DmFindRecordByID
> > by Mark Nudelman <[EMAIL PROTECTED]>
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 21 Jun 1999 23:20:03 -0700
> > From: Jim Schram <[EMAIL PROTECTED]>
> > Subject: Re: True Recordsize
> >
> > At 3:56 PM -0700 1999/06/21, Christopher Hunt wrote:
> > >Does anybody know how to obtain the true record size of a record in a
> > >database?
> > >
> > >I have a scenario where DmNewRecord allocates successfully and returns
a
> > >handle. If I then subsequently obtain the handle's size I sometimes
find
> > >that the Data Manager has reused some previously allocated space
> > >(possibly from a deleted record). Consequently the handle size is
larger
> > >than what I previously declared to DmNewRecord.
> >
> > Records are just memory handles that live in the storage heap... their
> sizes
> > do not mysteriously change without explicit resize operations.
> >
> > My guess is something in your code, or perhaps in a hack, or some other
> code,
> > is changing the size of the handle, or perhaps you're taking the size of
> the
> > wrong handle, or obtaining the wrong record, or caching the handle's
> pointer
> > after it's unlocked and taking its size, or...? Hmmm... lots of
> possibilities
> > here.
> >
> >
> > >I acknowledge that other things could be causing the above behavior but
> > >I have looked long and hard and this is what I finally conclude. Any
> > >validation of my observations would be greatly appreciated.
> >
> > Can't validate your observations. Sorry. Lots of things would break if
> memory
> > handles started changing their sizes when they felt like it.
> >
> > Could you describe the situation you're observing in more detail and/or
> > provide a reproducible test case (sample code)? Also, on what OS version
> are
> > you seeing this... what database... when... etc.?
> >
> > Regards,
> >
> > Jim Schram
> > 3Com/Palm Computing
> > Partner Engineering
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 21 Jun 1999 23:30:13 -0700
> > From: "Ray Rodrick" <[EMAIL PROTECTED]>
> > Subject: Re: PilotGear not paying developers
> >
> > Mark,
> > I have just received my cheque without problems. If they owe you less
> than
> > $100 they wait until it exceeds $100 or 3 months. I just received an
> email
> > (yesterday?) from Kenny West saying they were going to a show and
wouldn't
> > be contactable except in an emergency, so guess that is why you have
> > received a reply. I've personally found them great to deal with (I'm in
> > Australia).
> > Regards,
> > Ray
> > - ----- Original Message -----
> > From: Mark Campillo <[EMAIL PROTECTED]>
> > To: Palm Developers Forum List <[EMAIL PROTECTED]>
> > Sent: Friday, June 18, 1999 4:15 AM
> > Subject: PilotGear not paying developers
> >
> >
> > > Has anyone had problems with Pilot Gear not paying developers for
their
> > > orders? I am in that situation now where many orders have been
> processed,
> > > money has been paid by my customers, but none has come my way in a
> > > significant amount of time. I'm getting no response to my email
> queries.
> > I
> > > know some of you must be letting them handle your credit card orders
and
> I
> > > am wondering if this a common problem? I went with them because they
> > seemed
> > > like a professional organization but now I'm having my doubts. Any
> > feedback
> > > would be appreciated.
> > >
> > > mark
> > >
> > >
> > >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 00:47:49 -0700
> > From: Ernst Steenbrink <[EMAIL PROTECTED]>
> > Subject: RE: error in loading large size app
> >
> > This is because the install conduit tries to write more than 64K
> > to the same segment and failed.
> >
> > To solve this, you can create a new segment and put some of your code
> > in the new segment. Make sure no one single segment is larger
> > than 64K.
> >
> >
> > >-----Original Message-----
> > >From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
> > >Sent: Monday, June 21, 1999 11:26 PM
> > >To: [EMAIL PROTECTED]
> > >Subject: error in loading large size app
> > >
> > >
> > >
> > >hello,
> > >
> > >has anyone experienced loading large size app onto the device/poser? i
> have
> > >this
> > >app here which is about 134k, and i'm having trouble to load it onto
the
> > >device.
> > >i tried to load it with codewarrior IDE, but got an error msg saying it
> > >failed
> > >to upload the app onto the device, and suggeted me to delete the app
from
> the
> > >device, reset it and reopen the app on the host. i followed the
> instruction,
> > >but
> > >getting the same result. i also tried to load it to poser, but get an
> error
> > >saying error 513 occured.
> > >
> > >i have been trying to figure it out by experiencing adding
code/deleting
> > >code,
> > >and the reult is quite strange: code size below 127k has no problem at
> all;
> > >code
> > >size above 135k loads ok, but the app doesn't work in a stable way. it
> > >crashes
> > >randomly with a fatal error, no msg though. (something's wrong with the
> > >memory,
> > >but i have no clue what's going on.)
> > >
> > >i have 2 segments in the code, and i found out that 3 segments don't
> change
> > >the
> > >code size very much (actually it grow a bid).
> > >
> > >any idea what's going on? thanks.
> > >
> > >david
> > >
> > >
> > >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 06:35:37 -0700
> > From: "Dave Lippincott" <[EMAIL PROTECTED]>
> > Subject: Re: True Recordsize
> >
> > Yes, there is a magic formula and it differs between OS 2.x and 3.x
> >
> > Both OS versions have a DB overhead of 84 bytes
> > Both OS versions allocate DB memory in 4 byte chunks (so a record of 2
> bytes
> > will have an actual size of 4)
> > Here's where they differ:
> > OS 2.x has a record overhead of 14 bytes so my record of a UINT, INT
and
> 2
> > floats (4+ 2 + 8 + 8 = 22 bytes / 4 = 5.5 =>24bytes) will have a record
> size
> > of 38 bytes
> >
> > OS 3.x has a record overhead of 16 bytes so my record of a UINT, INT
and
> 2
> > floats (4+ 2 + 8 + 8 = 22 bytes / 4 = 5.5 =>24bytes) will have a record
> size
> > of 40 bytes
> >
> > My DB with 2 records in OS 2.0 is 84 (DB Overhead) + 2 * 38 = 160 bytes
> > In OS 2.0 with 2 records is 84 + 2*40 = 164 bytes
> >
> > I haven't checked these numbers, I'll look for my notes and verify
> > everything is correct. I am using this method in a program and
predicting
> > the size of my data with 100% accuracy in both OS 2.x and OS 3.0
> >
> > Dave
> >
> > - -----Original Message-----
> > From: Christopher Hunt <[EMAIL PROTECTED]>
> > To: PalmOS Developer Forum <[EMAIL PROTECTED]>
> > Date: Monday, June 21, 1999 6:55 PM
> > Subject: Q: True Recordsize
> >
> >
> > >Does anybody know how to obtain the true record size of a record in a
> > >database?
> > >
> > >I have a scenario where DmNewRecord allocates successfully and returns
a
> > >handle. If I then subsequently obtain the handle's size I sometimes
find
> > >that the Data Manager has reused some previously allocated space
> > >(possibly from a deleted record). Consequently the handle size is
larger
> > >than what I previously declared to DmNewRecord.
> > >
> > >I acknowledge that other things could be causing the above behaviour
but
> > >I have looked long and hard and this is what I finally conclude. Any
> > >validation of my observations would be greatly appreciated.
> > >
> > >Regards,
> > >--
> > >Christopher Hunt
> > >Class Action Pty. Ltd.
> > >
> > >Are you a time zone traveler that owns a Palm(tm) connected organizer?
> > >Check out http://www.classactionpl.com/TimeTraveler/index.htm
> > >
> > >
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 06:48:56 -0700
> > From: "Dave Lippincott" <[EMAIL PROTECTED]>
> > Subject: Re: True Recordsize
> >
> > Found my notes:
> >
> > Bob told me that the header size will vary between OS releases and the
> best
> > way to determine that is through experimentation. Additionally, the
> memory
> > manager may add 0-7 bytes to the end of the record to pad the data so it
> > stays in byte multiples. I found that the current magic number is 4
> bytes.
> > (i.e. all records are allocated in multiples of 4 bytes)
> > Dave Fedor told me that prior to OS 3.0, the memory manager had a 6 byte
> > overhead per record and after 3.0 it became 8 bytes. He also said all
DB
> > memory is allocated in 4 byte multiples.
> >
> > So, your DB size will be = (DB header overhead + (record size normalized
> to
> > 4 byte chunks + record overhead)*number records)
> > I found the DB overhead to be 84 bytes for both 2.x and 3.0
> >
> > Hope that answers your question
> > Dave
> >
> > - -----Original Message-----
> > From: Christopher Hunt <[EMAIL PROTECTED]>
> > To: PalmOS Developer Forum <[EMAIL PROTECTED]>
> > Date: Monday, June 21, 1999 6:55 PM
> > Subject: Q: True Recordsize
> >
> >
> > >Does anybody know how to obtain the true record size of a record in a
> > >database?
> > >
> > >I have a scenario where DmNewRecord allocates successfully and returns
a
> > >handle. If I then subsequently obtain the handle's size I sometimes
find
> > >that the Data Manager has reused some previously allocated space
> > >(possibly from a deleted record). Consequently the handle size is
larger
> > >than what I previously declared to DmNewRecord.
> > >
> > >I acknowledge that other things could be causing the above behaviour
but
> > >I have looked long and hard and this is what I finally conclude. Any
> > >validation of my observations would be greatly appreciated.
> > >
> > >Regards,
> > >--
> > >Christopher Hunt
> > >Class Action Pty. Ltd.
> > >
> > >Are you a time zone traveler that owns a Palm(tm) connected organizer?
> > >Check out http://www.classactionpl.com/TimeTraveler/index.htm
> > >
> > >
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 08:17:59 -0700
> > From: Rolf Maag <[EMAIL PROTECTED]>
> > Subject: PowerOff timer
> >
> > Hi all
> > My Application, does some "heavy work" in regular interval's.
> > (I'm using an alarm to start that up)
> >
> > I want to avoid interrupting other apps if the user is working
> > i.e. just typing a memo, or playing a game...
> >
> > I know that I can do some checks in the first alarm handle routine for
> > that purpose, but what could I check for?
> >
> > best might be the "sleeping timer" but is it accessible?
> >
> > thanks for any hacks or suggestions
> > Rolf Maag
> >
> >
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 08:36:02 -0700
> > From: "Michael S. Davis" <[EMAIL PROTECTED]>
> > Subject: Field Error: Need suggestions
> >
> > I am trying to debug an app and cannot seem to see the
> > what is causing the problem.
> >
> > I have a field: fldXReg; it is an single line, editable field and is
> > limited to 30 chars in the form.
> >
> > I update the field (only) with a function that is passed the FieldPtr
and
> > a string pointer (s) and contains the following code:
> >
> > FldDelete(fldP, 0, FldGetTextLength(fldP));
> > FldInsert(fldP, s, StrLen(s));
> >
> > My problem is that after about 400,000 Gremlin steps I get two errors:
> > One with one Gremlin number and another with a different Grmelin #:
> >
> > 1) Error 1: Field.c, Line 100, Invalid field length
> > 2) Error 2: Field.c, Line 121, Invalid word wrapping info
> >
> > Both of these errors occur when editing this field. The second error
> > occurs with the Keyboard displayed and the field data also displayed in
> > the Keyboard form.
> >
> > I cannot see what could be causing these problems. I have tried
entering
> > the data as the last number of steps that are in the Log file but that
> > does not seem to generate the error.
> >
> > When the 2nd error occurs, the Gremlin test stops, I can 'continue'
> > the Gremlin tests and when I manually tap my pen in the editing field, I
> > get the error again.
> >
> > Any clues as to what might be causing these errors. Also, it takes
> > a couple of hours to get to 400,000 steps. Is there some way to start
> > this Gremlin a little further down the sequence so it does not take so
> > long?
> >
> > Thanks
> >
> > - ----------------------------------------------------
> > Shoot-to-Win
> >
> > Protect the 2nd Amendment
> > - ----------------------------------------------------
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 09:29:33 -0700
> > From: Greg Winton <[EMAIL PROTECTED]>
> > Subject: Heap Limitations
> >
> > I have a few questions regarding the heap:
> >
> > It is my understanding that an application has 32k of heap to use. I
> > believe that any allocations by system services for the app use this
heap.
> > Is this correct?
> >
> > Also, if I sublaunch an application, does it get its own heap, or does
its
> > allocations come from my heap, too.
> >
> > What about the stack of a sublaunched application - does that also come
> > from my stack space?
> >
> > Thanks,
> > Greg
> >
> > Greg Winton
> > Bachmann Software and Services, LLC
> > mailto:[EMAIL PROTECTED]
> > http://www.bachmannsoftware.com
> > Software Development for Handheld & Mobile Computing, Windows and the
> Internet
> > Home of Bachmann Print Manager, the only graphical printing solution for
> > the Palm Computing Platform
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 09:29:50 -0700
> > From: Greg Winton <[EMAIL PROTECTED]>
> > Subject: Re: Field Pointers: Data persistency
> >
> > Michael,
> >
> > At 11:49 AM 6/21/99 -0700, you wrote:
> > >I have noticed something in my code that might be a problem. So, far I
> > >have not experienced any problems but I'm wondering if this is a bad
way
> > >of doing this.
> > >
> > >I have a status field where I display a string of one char. That field
> is
> > >a non-editable field and I use FldSetTextPtr to set the text value to
> > >display. My problem is that I use FldSetTextPtr within an event
handler
> > >and use a literal string.
> > >
> >
> > <snip>
> >
> > >For instance, within the OK button handler, I might have:
> > >
> > >FldSetTextPtr(fldP, "Y");
> > >
> > I believe this should be no problem. Effectivelym this call will set
the
> > field's text pointer attribute to the address of "Y". Because this is a
> > literal (and, therefore, constant), it should be stored in your app's
code
> > segment. This means the address should not change. When the field is
> > redrawn, it should be able to access this address with no problem.
> >
> > That, at least, is my theory. Hope this helps.
> >
> > Greg
> >
> > Greg Winton
> > Bachmann Software and Services, LLC
> > mailto:[EMAIL PROTECTED]
> > http://www.bachmannsoftware.com
> > Software Development for Handheld & Mobile Computing, Windows and the
> Internet
> > Home of Bachmann Print Manager, the only graphical printing solution for
> > the Palm Computing Platform
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 09:30:09 -0700
> > From: Greg Winton <[EMAIL PROTECTED]>
> > Subject: Re: error in loading large size app
> >
> > David,
> >
> > At 02:26 PM 6/21/99 -0700, you wrote:
> > >has anyone experienced loading large size app onto the device/poser? i
> > have this
> > >app here which is about 134k, and i'm having trouble to load it onto
the
> > device.
> >
> > <snip>
> >
> > >any idea what's going on? thanks.
> >
> > We developed an application that topped out somewhere just under 250k.
We
> > discovered that the debugging tools, especially POSE, are extremely
> > unstable at that point. First tracing into functions stops working.
Then
> > it downloads successfully only occasionally. Finally, the whole thing
> > crashes.
> >
> > A few things that have helped:
> >
> > 1. If you have an NT machine, use that - it seems the most stable for
> > debugging.
> > 2. If you can debug on the device rather than POSE, this also seems more
> > stable (we made extensive use of the serial/ir port, so we could not).
> > 3. If you can split your application's functionality into small testers,
> > this is the most efficient (this is true of any project of any size).
> >
> > That said, I'm not sure what version of the tools you're using. We were
> > using CW R4 and POSE 2.1d24. There have been several revisions of both
> > tools since - these may have addressed some of your problems.
> >
> > Also, are you having this same trouble installing your app to the device
> > using HotSync (tm)? We found that this was the most robust way to get
the
> > app onto the device. Debugging became more of a challenge, though.
> >
> > I have more suggestions, but they involve restructuring your app - which
> > you may not be willing to do.
> >
> > Hope this helps.
> >
> > Greg
> >
> >
> > Greg Winton
> > Bachmann Software and Services, LLC
> > mailto:[EMAIL PROTECTED]
> > http://www.bachmannsoftware.com
> > Software Development for Handheld & Mobile Computing, Windows and the
> Internet
> > Home of Bachmann Print Manager, the only graphical printing solution for
> > the Palm Computing Platform
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 09:42:24 -0700
> > From: "Chris Antos" <[EMAIL PROTECTED]>
> > Subject: Re: Field Error: Need suggestions
> >
> > in my experience, those errors frequently mean that FldFreeMemory got
> > called, and then the field got reused without first calling
> > FldSetSelection(pfld, 0, 0).
> >
> >
> > - ----- Original Message -----
> > From: Michael S. Davis <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Tuesday, June 22, 1999 8:30 AM
> > Subject: Field Error: Need suggestions
> >
> >
> > > I am trying to debug an app and cannot seem to see the
> > > what is causing the problem.
> > >
> > > I have a field: fldXReg; it is an single line, editable field and is
> > > limited to 30 chars in the form.
> > >
> > > I update the field (only) with a function that is passed the FieldPtr
> and
> > > a string pointer (s) and contains the following code:
> > >
> > > FldDelete(fldP, 0, FldGetTextLength(fldP));
> > > FldInsert(fldP, s, StrLen(s));
> > >
> > > My problem is that after about 400,000 Gremlin steps I get two errors:
> > > One with one Gremlin number and another with a different Grmelin #:
> > >
> > > 1) Error 1: Field.c, Line 100, Invalid field length
> > > 2) Error 2: Field.c, Line 121, Invalid word wrapping info
> > >
> > > Both of these errors occur when editing this field. The second error
> > > occurs with the Keyboard displayed and the field data also displayed
in
> > > the Keyboard form.
> > >
> > > I cannot see what could be causing these problems. I have tried
> entering
> > > the data as the last number of steps that are in the Log file but that
> > > does not seem to generate the error.
> > >
> > > When the 2nd error occurs, the Gremlin test stops, I can 'continue'
> > > the Gremlin tests and when I manually tap my pen in the editing field,
I
> > > get the error again.
> > >
> > > Any clues as to what might be causing these errors. Also, it takes
> > > a couple of hours to get to 400,000 steps. Is there some way to start
> > > this Gremlin a little further down the sequence so it does not take so
> > > long?
> > >
> > > Thanks
> > >
> > > ----------------------------------------------------
> > > Shoot-to-Win
> > >
> > > Protect the 2nd Amendment
> > > ----------------------------------------------------
> > >
> > >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 10:02:33 -0700
> > From: "Michael S. Davis" <[EMAIL PROTECTED]>
> > Subject: Re: Field Error: Need suggestions
> >
> > On Tue, 22 Jun 1999, Chris Antos wrote:
> >
> > > in my experience, those errors frequently mean that FldFreeMemory got
> > > called, and then the field got reused without first calling
> > > FldSetSelection(pfld, 0, 0).
> >
> > I don't call FldFreeMenory anywhere in my app. Can this be called by
> > something else? I do use FldDelete(). I use FldSetSelection only in my
> > SelectAll menu selection function.
> >
> > Where is it that people can go to find out what these errors mean?
> >
> > >
> > > ----- Original Message -----
> > > From: Michael S. Davis <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Tuesday, June 22, 1999 8:30 AM
> > > Subject: Field Error: Need suggestions
> > >
> > >
> > > > I am trying to debug an app and cannot seem to see the
> > > > what is causing the problem.
> > > >
> > > > I have a field: fldXReg; it is an single line, editable field and is
> > > > limited to 30 chars in the form.
> > > >
> > > > I update the field (only) with a function that is passed the
FieldPtr
> and
> > > > a string pointer (s) and contains the following code:
> > > >
> > > > FldDelete(fldP, 0, FldGetTextLength(fldP));
> > > > FldInsert(fldP, s, StrLen(s));
> > > >
> > > > My problem is that after about 400,000 Gremlin steps I get two
errors:
> > > > One with one Gremlin number and another with a different Grmelin #:
> > > >
> > > > 1) Error 1: Field.c, Line 100, Invalid field length
> > > > 2) Error 2: Field.c, Line 121, Invalid word wrapping info
> > > >
> > > > Both of these errors occur when editing this field. The second
error
> > > > occurs with the Keyboard displayed and the field data also displayed
> in
> > > > the Keyboard form.
> > > >
> > > > I cannot see what could be causing these problems. I have tried
> entering
> > > > the data as the last number of steps that are in the Log file but
that
> > > > does not seem to generate the error.
> > > >
> > > > When the 2nd error occurs, the Gremlin test stops, I can 'continue'
> > > > the Gremlin tests and when I manually tap my pen in the editing
field,
> I
> > > > get the error again.
> > > >
> > > > Any clues as to what might be causing these errors. Also, it takes
> > > > a couple of hours to get to 400,000 steps. Is there some way to
start
> > > > this Gremlin a little further down the sequence so it does not take
so
> > > > long?
> > > >
> > > > Thanks
> > > >
> > > > ----------------------------------------------------
> > > > Shoot-to-Win
> > > >
> > > > Protect the 2nd Amendment
> > > > ----------------------------------------------------
> > > >
> > > >
> > >
> > >
> > >
> >
> > - ----------------------------------------------------
> > Shoot-to-Win
> >
> > Protect the 2nd Amendment
> > - ----------------------------------------------------
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 10:14:20 -0700
> > From: Bill Goodman <[EMAIL PROTECTED]>
> > Subject: Re: DmFindRecordByID
> >
> > Ion Popescu wrote:
> >
> > >I still haven't got the answer to the question I posted.
> > >I guess the thread got into discussing what is expected
> > >out of Palm. My question again:-
> > >
> > >Should I write a replacement for DmFindRecordByID?
> >
> > If you're counting on unique IDs remaining constant and your program is
> > supposed to work with older versions of the OS (pre-3.0, I think), you
> have
> > a problem with your software architecture. Unique IDs are not guaranteed
> to
> > remain the same in the earlier versions of the OS. I have not verified
> that
> > the problem has been fixed in the later versions for that matter.
> >
> > The main problem as I recall occurs when you do a "restore" operation
> after
> > a hard reset. The unique IDs for records get regenerated from scratch
and
> > have no relationship whatsoever to the original IDs.
> >
> > As a result, building an efficient linked list of database records is
> quite
> > challenging. You can't use the standard PalmOS unique IDs. One method is
> to
> > put your own unique ID inside each record; however, this has its own
> > problems. For one, the performance is quite poor since you have to look
> > inside each record when you are scanning for a particular ID (the PalmOS
> > unique ID lookup is relatively fast since all the IDs are in a single
> > array). For another, you have the problem of generating the unique IDs
on
> > multiple desktop systems and in the handheld application without
creating
> > duplicates.
> >
> > Unfortunately, I don't have a good solution to recommend to you. I'm
just
> > trying to let you know about some of the problems.
> >
> > Bill Goodman
> > Cyclos
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 10:34:09 -0700
> > From: Jason Dawes <[EMAIL PROTECTED]>
> > Subject: Re: DmFindRecordByID
> >
> > At 10:04 AM 6/22/99 -0700, you wrote:
> > >Ion Popescu wrote:
> > >
> > >>I still haven't got the answer to the question I posted.
> > >>I guess the thread got into discussing what is expected
> > >>out of Palm. My question again:-
> > >>
> > >>Should I write a replacement for DmFindRecordByID?
> > >
> > >The main problem as I recall occurs when you do a "restore" operation
> after
> > >a hard reset. The unique IDs for records get regenerated from scratch
and
> > >have no relationship whatsoever to the original IDs.
> > >
> > >As a result, building an efficient linked list of database records is
> quite
> > >challenging. You can't use the standard PalmOS unique IDs. One method
is
> to
> > >put your own unique ID inside each record; however, this has its own
> > >problems. For one, the performance is quite poor since you have to look
> > >inside each record when you are scanning for a particular ID (the
PalmOS
> > >unique ID lookup is relatively fast since all the IDs are in a single
> > >array).
> >
> > If you sort the database by ID, you regain performance. All searches
> > become O(log n) rather than O(n).
> > (In which case DnFindRecordByID becomes DmBinarySearch). Unfortunately,
> > some databases don't lend themselves to being sorted.
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 11:43:57 -0700
> > From: [EMAIL PROTECTED]
> > Subject: Re: Field Error: Need suggestions
> >
> >
> >
> > > 1) Error 1: Field.c, Line 100, Invalid field length
> > > 2) Error 2: Field.c, Line 121, Invalid word wrapping info
> >
> > The field warnings were improved a lot for Palm OS 3.3. One or two were
> > cleaned
> > up a bit (I think the ones you're mentioning) and others were added.
> >
> > You might get better results if you develope against a 3.3 debug ROM.
> This
> > advice is true for a number of OS areas.
> >
> >
> > - -Roger Flores
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 12:10:07 -0700
> > From: "Mike Smit" <[EMAIL PROTECTED]>
> > Subject: Msg Boxes
> >
> > Hi All
> >
> > Env: Win98, CodeWarrior 5, Palm3 (Symbol)
> >
> > I am pretty new to the world of Palm developement and am curious about
> > message boxes. In Delphi if I want to display a simple message to the
user
> I
> > simply call MessageDlg( blah blah... ) or ShowMessage( etc etc... ).
> >
> > Is there somthing equivalent for the Palm without having to create one
> from
> > scratch.
> >
> > Regards - Mike
> > Analyst Programmer
> > Alphapos CC
> > http://www.awesoft.com
> > http://196.38.226.95
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 12:22:41 -0700
> > From: Mike Margerum <[EMAIL PROTECTED]>
> > Subject: Re: Msg Boxes
> >
> > I needed a debug type of message box so what i did is just created an
> alert
> > resouce with ^1 in the text
> > you can then just call FrmCustomAlert
> >
> > Mike Smit wrote:
> >
> > > Hi All
> > >
> > > Env: Win98, CodeWarrior 5, Palm3 (Symbol)
> > >
> > > I am pretty new to the world of Palm developement and am curious
about
> > > message boxes. In Delphi if I want to display a simple message to the
> user I
> > > simply call MessageDlg( blah blah... ) or ShowMessage( etc etc... ).
> > >
> > > Is there somthing equivalent for the Palm without having to create one
> from
> > > scratch.
> > >
> > > Regards - Mike
> > > Analyst Programmer
> > > Alphapos CC
> > > http://www.awesoft.com
> > > http://196.38.226.95
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 12:30:26 -0700
> > From: [EMAIL PROTECTED]
> > Subject: Re: Msg Boxes
> >
> > At 09:11 PM 22/06/99 +0200, you wrote:
> > >Hi All
> > >
> > >Env: Win98, CodeWarrior 5, Palm3 (Symbol)
> > >
> > >I am pretty new to the world of Palm developement and am curious about
> > >message boxes. In Delphi if I want to display a simple message to the
> user I
> > >simply call MessageDlg( blah blah... ) or ShowMessage( etc etc... ).
> > >
> > >Is there somthing equivalent for the Palm without having to create one
> from
> > >scratch.
> >
> > The standard way I do this is to create a single alert resource in
> > Constructor with the look I want, a generic title like "Alert", and the
> > message text being "^1". Then you can pop up a message with the text you
> > want using:
> >
> > FrmCustomAlert(myAlertIDHere, "my message here", NULL, NULL);
> >
> > You can use ^1, ^2, and ^3 anywhere in the message text when you create
> the
> > slert, and the three parameters of the FrmCustomAlert call get
substituted
> > for them.
> >
> > Heck, if you want, you can encapsulate the call into a function called
> > "MessageDlg" which takes only a string in, and you can feel right at
home.
> >
> > Look up FrmCustomAlert in the docs for more complete details.
> >
> > Kris Wilk
> > ReefNet Software
> > www.reefnet.on.ca
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 12:43:21 -0700
> > From: Scott Johnson <[EMAIL PROTECTED]>
> > Subject: Re: Msg Boxes
> >
> > [EMAIL PROTECTED] wrote:
> > > Heck, if you want, you can encapsulate the call into a function
> > > called "MessageDlg" which takes only a string in
> >
> > You can also call the SysFatalAlert API to display a string without
> > needing a separate alert resource. It doesn't do the "^1" type of
> > replacement, but on the plus side, when running on POSE it pops up in a
> > separate desktop window instead of in the Palm screen.
> >
> > I'd use this API for debugging only, NOT for release, since it's not
> > really documented for this.
> >
> > - -slj-
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 12:56:14 -0700
> > From: Dave Smith <[EMAIL PROTECTED]>
> > Subject: RE: Msg Boxes
> >
> > Mike Smit wrote:
> > > ... I am curious about message boxes ... MessageDlg( blah blah... ) or
> > > ShowMessage( etc etc... ). Is there somthing equivalent for the Palm
> ...
> >
> > In most of my projects (now) I have an "alert" resource defined, with
the
> > text simply "^1". The "^1" is a placeholder that gets replaced at
> runtime.
> > The source code would be:
> >
> > FrmCustomerAlert( alertID, "this is the variable text", 0, 0 );
> >
> > Hope this helps...
> >
> > Dave.
> >
> > - --
> > David A. Smith
> > Colorado Springs, CO USA
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 13:08:16 -0700
> > From: "Mike Smit" <[EMAIL PROTECTED]>
> > Subject: Re: Msg Boxes
> >
> > Thanx to those that replied - I am now going in the right direction (-:
> > Later - Mike
> > Analyst Programmer
> > Alphapos CC
> > http://www.awesoft.com
> > http://196.38.226.95
> > - ----- Original Message -----
> > From: Mike Smit <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Tuesday, June 22, 1999 9:11 PM
> > Subject: Msg Boxes
> >
> >
> > > Hi All
> > >
> > > Env: Win98, CodeWarrior 5, Palm3 (Symbol)
> > >
> > > I am pretty new to the world of Palm developement and am curious
about
> > > message boxes. In Delphi if I want to display a simple message to the
> user
> > I
> > > simply call MessageDlg( blah blah... ) or ShowMessage( etc etc... ).
> > >
> > > Is there somthing equivalent for the Palm without having to create one
> > from
> > > scratch.
> > >
> > > Regards - Mike
> > > Analyst Programmer
> > > Alphapos CC
> > > http://www.awesoft.com
> > > http://196.38.226.95
> > >
> > >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 13:21:36 -0700
> > From: Oliver King-Smith <[EMAIL PROTECTED]>
> > Subject: No Event Handler
> >
> > In my application the user has a main form. There are several popup
forms
> > that the user can call, and when I want to return to the main form I
call
> > FrmReturnToForm( 0 ); This works almost all the time(>>95%), but every
> now
> > and again it fails with the error No Event Handler Form.c line 3772
(Palm
> > OS 3) and line 3555 (Palm OS 2).
> >
> > I have tried opening and closing the form repeatedly, but the error does
> > not show up. I can reproduce the bug under POSE and if I stop the
gremlin
> > before it opens the popup form, I find any popup form I open and close
> will
> > cause the system to crash. So I believe the main form has in someway
> > become corupted.
> >
> > Here is the event trace prior to crashing with my comments
> >
> > 64.271: -> EvtEnqueuePenPoint: pen->x=209, pen->y=216.
> > 64.271: <- EvtGetSysEvent: penDownEvent X:47 Y:40
> > 64.271: <- EvtGetEvent: penDownEvent X:41 Y:26
> > 64.271: <- EvtGetPen: screenX=41, screenY=26, penDown=1.
> > 64.271: <- EvtGetPen: <<<eliding identical events>>>.
> > 64.449: -> EvtEnqueuePenPoint: pen->x=-1, pen->y=-1.
> > 64.449: <- EvtGetPen: screenX=41, screenY=26, penDown=0.
> > // Selecting the pop up form from the menu
> > 64.449: -> EvtAddEventToQueue: menuEvent ItemID: 1002
> > 64.462: <- EvtGetEvent: winExitEvent Enter: 000018B2 Exit:
0000C24A
> > 64.462: <- EvtGetEvent: winEnterEvent Enter: 000018B2 Exit:
0000C24A
> > 64.462: <- EvtGetEvent: menuEvent ItemID: 1002
> > 64.462: -> EvtAddEventToQueue: frmLoadEvent ID: 1500
> > 64.462: -> EvtAddEventToQueue: frmOpenEvent ID: 1500
> > // Load the pop up form
> > 64.462: <- EvtGetEvent: frmLoadEvent ID: 1500
> > // Note the winExitEvent Exit ID is 18B2
> > 64.462: <- EvtGetEvent: winExitEvent Enter: 00001D18 Exit:
000018B2
> > 64.462: <- EvtGetEvent: winEnterEvent Enter: 00001D18 Exit:
000018B2
> > 64.462: <- EvtGetEvent: frmOpenEvent ID: 1500
> > 64.545: <- EvtGetSysEvent: penUpEvent X:47 Y:40
> > // This Y looks kinda big (coulb be -1)
> > 64.545: <- EvtGetEvent: penUpEvent X:45 Y:4294967268
> > 66.983: -> EvtEnqueuePenPoint: pen->x=179, pen->y=109.
> > 66.983: <- EvtGetSysEvent: penDownEvent X:77 Y:147
> > 66.983: <- EvtGetEvent: penDownEvent X:75 Y:79
> > 66.983: -> EvtAddEventToQueue: ctlEnterEvent ID: 1504
> > 66.983: <- EvtGetEvent: ctlEnterEvent ID: 1504
> > 66.983: <- EvtGetPen: screenX=75, screenY=79, penDown=1.
> > 66.983: <- EvtGetPen: <<<eliding identical events>>>.
> > 67.138: -> EvtEnqueuePenPoint: pen->x=-1, pen->y=-1.
> > 67.138: <- EvtGetPen: screenX=75, screenY=79, penDown=0.
> > 67.138: -> EvtAddEventToQueue: ctlSelectEvent ID: 1504 On: 0
> > // The done button has been selected
> > 67.154: <- EvtGetEvent: ctlSelectEvent ID: 1504 On: 0
> > // Note the Enter ID is different than the last exit ID
> > 67.168: <- EvtGetEvent: winExitEvent Enter: 00001B9C Exit:
00001D18
> >
> > The enter ID on the winExitEvent is different from the exit ID when we
> left
> > the form (I don't know if this matters).
> >
> > Does anyone have any opinions as to what the problem might be, or how I
> can
> > track it down further.
> >
> > Oliver
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 15:30:53 -0700
> > From: Jason Garrett <[EMAIL PROTECTED]>
> > Subject: RE: Msg Boxes
> >
> > I use FrmCustomAlert. It lets you display an Alert form, and customise
> the
> > content.
> >
> > > -----Original Message-----
> > > From: Mike Smit [SMTP:[EMAIL PROTECTED]]
> > > Sent: Wednesday, June 23, 1999 7:12 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: Msg Boxes
> > >
> > > Hi All
> > >
> > > Env: Win98, CodeWarrior 5, Palm3 (Symbol)
> > >
> > > I am pretty new to the world of Palm developement and am curious
about
> > > message boxes. In Delphi if I want to display a simple message to the
> user
> > > I
> > > simply call MessageDlg( blah blah... ) or ShowMessage( etc etc... ).
> > >
> > > Is there somthing equivalent for the Palm without having to create one
> > > from
> > > scratch.
> > >
> > > Regards - Mike
> > > Analyst Programmer
> > > Alphapos CC
> > > http://www.awesoft.com
> > > http://196.38.226.95
> > >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 15:43:45 -0700
> > From: "Neil Rhodes" <[EMAIL PROTECTED]>
> > Subject: Re: Field Pointers: Data persistency
> >
> > FldSetTextPtr(fldP, "Y");
> > will always be safe. The reason is that constant strings are stored
> either:
> > in global space
> > or:
> > pc-relative (after the function).
> >
> > In either case, they'll remain where they were. There's no need to call
> > FldDelete or FldInsert.
> >
> > The problem would be if you did something like:
> >
> > foo()
> > {
> > char myStringOnStack[] = "abcde";
> >
> > FldSetTextPtr(fldP, myStringOnStack);
> > }
> >
> > Since myStringOnStack is on the stack, it goes away when foo exits.
> >
> > So, yes, the pointer you pass to FldSetTextPtr is saved in the field,
but
> if
> > it's a string constant, it's OK, cause it ain't going anywhere.
> >
> > Neil
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 15:50:47 -0700
> > From: "Roger Chaplin" <[EMAIL PROTECTED]>
> > Subject: Re: Palm Dev Forum Digest 6/21/99
> >
> > Michael S. Davis wrote:
> >
> > > On Mon, 21 Jun 1999, Elia J. Freedman wrote:
> > >
> > > > That should bomb. What you need to do is use FldSetTextHandle or
call
> > > > FldDelete and FldInsert. With FldDelete and FldInsert, however, you
> will
> > > > need to make the field editable first, change the text, and than
make
> it
> > > > uneditable again.
> > >
> > > It does not bomb at all. But, I need to get to the bottom of this. I
> > > have a function SetFieldText that does use FldDelete and FldInsert for
> > > editable fields and FldSetTextPtr for non-editable fields. But, what
> does
> > > FldInsert do that allows me to use these literal strings?
> > >
> > > I guess I could take your suggestion and make the field editable then
> > > change the text and switch it back to non-editable but I'd like to
> > > understand what happens that makes one method work and the other not
> work
> > > (even though it seems to work).
> > >
> > > Thanks
> > >
> > > > -----Original Message-----
> > > > From: Michael S. Davis [mailto:[EMAIL PROTECTED]]
> > > > Sent: Monday, June 21, 1999 11:49 AM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Field Pointers: Data persistency
> > > >
> > > >
> > > > I have noticed something in my code that might be a problem. So,
far
> I
> > > > have not experienced any problems but I'm wondering if this is a bad
> way
> > > > of doing this.
> > > >
> > > > I have a status field where I display a string of one char. That
> field is
> > > > a non-editable field and I use FldSetTextPtr to set the text value
to
> > > > display. My problem is that I use FldSetTextPtr within an event
> handler
> > > > and use a literal string.
> > > >
> > > > I'm wondering if there will be a problem since this pointer only
> exists
> > > > within the handler might not be valid pointer at some later time.
Or,
> > > > does the fact that I am using a literal string guarantee that the
> pointer
> > > > will always be valid?
> > > >
> > > > For instance, within the OK button handler, I might have:
> > > >
> > > > FldSetTextPtr(fldP, "Y");
> > > >
> > > > Now if I redraw the Form or Field at some later time, will the
> > > > pointer still exist? Should field data be kept in Global variables?
> >
> > It works because your C compiler puts the "Y" somewhere in memory, then
> > pushes that address onto the stack when preparing to cal FldSetTextPtr.
> > In my experience, that memory is valid when your app has been launched
> > normally, but is not valid when your app doesn't have its globals (i.e.
> > when it's been launched due to an alarm, etc.). If your app is never
> > launched "abnormally" (so to speak) then you have no reason for
> > concern.
> >
> > - --
> > Roger Chaplin
> > <[EMAIL PROTECTED]>
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 18:57:24 -0700
> > From: Richard Bram <[EMAIL PROTECTED]>
> > Subject: Re: DmFindRecordByID
> >
> > >If you're counting on unique IDs remaining constant and your program is
> > >supposed to work with older versions of the OS (pre-3.0, I think), you
> have
> > >a problem with your software architecture. Unique IDs are not
guaranteed
> to
> > >remain the same in the earlier versions of the OS. I have not verified
> that
> > >the problem has been fixed in the later versions for that matter.
> >
> >
> >
> > I thought I had heard from this list that the loss of UniqueID integrity
> > was a problem of the Desktop software, not the Pilot OS itself. And that
> > this problem was fixed in Desktop software version 2. So we should be
> > able to rely on uniqueIDs no matter what device is used, as long
> > as users have a recent Desktop build. Right?
> >
> > Rick Bram
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > Date: 22 Jun 1999 20:05:35 -0700
> > From: Mark Nudelman <[EMAIL PROTECTED]>
> > Subject: Re: DmFindRecordByID
> >
> > Bill Goodman wrote:
> > > As a result, building an efficient linked list of database records is
> quite
> > > challenging. You can't use the standard PalmOS unique IDs. One method
is
> to
> > > put your own unique ID inside each record; however, this has its own
> > > problems.
> >
> > "Challenging" is putting it mildly. I take this approach: I use unique
> > IDs, because I need the performance, but I also store a copy of the
> > unique ID in the record itself. Then when my app receives a
> > sysAppLaunchCmdSyncNotify, indicating a "restore" has happened, I run
> > thru all the records and use DmSetRecordInfo to set the UID back to what
> > it originally was.
> >
> > Another problem, which doesn't seem to be well known, is that unique IDs
> > are NOT guaranteed to be unique. It is possible for the OS to assign
> > the same "unique" ID to two different records in a database. This is
> > normally unlikely, but the more "restore" operations that happen on a
> > database, the more likely it becomes. Certain usage patterns can make
> > it more likely also; if you create one record and leave it alone
> > forever, and then create and delete more records, you are *guaranteed*
> > that you'll eventually get another record with the same UID as the first
> > one.
> > - --Mark
> >
> >
> >
> > ----------------------------------------------------------------------
> >
> > End of Digest
> >
> > To request a copy of the help file, reply to this message and put "help"
> in
> > the subject. To contact a human, please mail to
> [EMAIL PROTECTED]
>