Was there a point to sending this Digest to the list?

-- 
-Richard M. Hartman
[EMAIL PROTECTED]

186,000 mi./sec ... not just a good idea, it's the LAW!


> -----Original Message-----
> From: Kevin Herbert [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, June 23, 1999 6:34 AM
> To: Palm Developers Forum List
> Subject: Re:remove
> 
> 
> 
> ----- 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]
> >
> 
> 

Reply via email to