Strange pkeepin'
GCC Consulting
gccconsulting at comcast.net
Wed May 7 15:09:51 PDT 2008
> -----Original Message-----
> From: filepro-list-
> bounces+gccconsulting=comcast.net at lists.celestial.com [mailto:filepro-
> list-bounces+gccconsulting=comcast.net at lists.celestial.com] On Behalf
> Of Bruce Easton
> Sent: Wednesday, May 07, 2008 6:05 PM
> To: filepro list
> Subject: Strange pkeepin'
>
> I'm seeing some strange browse pkeep behavior today on
> Windows filepro 5.0.14. I don't think the couple of items
> I see in the release notes about pkeep from 5.0.14 on describe
> what I am seeing. Also, I'm pretty sure that I've coded
> the exact same under Unix and did not see the behavior there.
>
> I'll first post code where everything works as expected
> (subroutine 'clearm' [not shown] just deletes records for
> session out of file 'mymarkfile'):
>
> 595 ------- - - - - - - - - - - - -
> @wbl4 ? If: 'sets kn(8,.0) to one-up # for marking file
> Then: gosub getctrl '(used as marking session key)
> 596 ------- - - - - - - - - - - - -
> ? If: 'browse spec
> Then: bt="(brw=12 xkey=xm prc=filmk show=pkeep fill=asc)"
> 597 ------- - - - - - - - - - - - -
> ? If:
> Then: bu="[Mark Type of Document]"
> 598 ------- - - - - - - - - - - - -
> ? If:
> Then: bv=" *mk *2"
> 599 ------- - - - - - - - - - - - -
> ? If:
> Then: ky(60,*)=""
> 600 ------- - - - - - - - - - - - -
> rptbrw ? If:
> Then: cls("22"); showctr("23") "\r M \r-Mark \r X \r-Exit"
> 601 ------- - - - - - - - - - - - -
> ? If: 'MAIN BROWSE for marking
> Then: lookup brfil = myfile@ k=ky i=A -ng b=(bt&bu&bv)
> 602 ------- - - - - - - - - - - - -
> ? If: not brfil 'data missing fr supporting file
> Then: beep; errorbox "Docs missing"; clearb; screen ,4
> 603 ------- - - - - - - - - - - - -
> ? If: @sk eq "BRKY" or @bk eq "X" 'operator exiting
> Then: gosub clearm; clearb; screen ,4
> 604 ------- - - - - - - - - - - - -
> ? If: @bk eq "M" 'operator marking record in browse
> Then: gosub markit; goto rptbrw
> 605 ------- - - - - - - - - - - - -
> ? If: 'future xkey vals tested down here
> Then: goto rptbrw 'should now never reach here.
> 606 ------- - - - - - - - - - - - -
> markit ? If: '**** subroutine for marking one record
> Then: 'triggered from @bk="M" on browse
> 607 ------- - - - - - - - - - - - -
> ? If:
> Then: hk(14,*)=kn&brfil(1)
> 608 ------- - - - - - - - - - - - -
> ? If:
> Then: lookup mrkfil = mymarkfile@ k=hk i=B -nx
> 609 ------- - - - - - - - - - - - -
> ? If: mrkfil
> Then: return 'already marked
> 610 ------- - - - - - - - - - - - -
> ? If: 'make a marking record
> Then: lookup mrkfil = mymarkfile@ r=free -ep
> 611 ------- - - - - - - - - - - - -
> ? If:
> Then: mrkfil(1)=kn; mrkfil(2)=brfil(1)
> 612 ------- - - - - - - - - - - - -
> ? If:
> Then: return
> 613 ------- - - - - - - - - - - - -
> filmk ? If: 'fill (drop) processing for browse above ******
> Then: '(tests existence of marking record)
> 614 ------- - - - - - - - - - - - -
> ? If:
> Then: mk(1,*)=""; hk=kn&brfil(1)
> 615 ------- - - - - - - - - - - - -
> ? If:
> Then: lookup thisbr = mymarkfile@ k=hk i=B -nx
> 616 ------- - - - - - - - - - - - -
> ? If: thisbr
> Then: mk="M"
> 617 ------- - - - - - - - - - - - -
> ? If:
> Then: end
> 618 ------- - - - - - - - - - - - -
>
> This all works fine. The way I used to write these procedures
> included a 'close mrkfil' - for here that would be before
> the return on line 612. In this case when I try to close
> the marking file, pkeep is no longer able to keep its place,
> and every time the browse is re-executed at 'rptbrw', the
> browse pointer is at position of the original key.
>
> I started to think that since I was closing the file
> that is also used in the drop processing (to show the
> status of what was just marked), that I might be
> confusing clerk there.
>
> But even when I kept the 'close mrkfil' at 612 before
> the return and removed the 'prc=filmk' from the browse
> specification, it still would return the browse pointer
> to the beginning of the original key after each 'M'
> keypress on the browse. So even though I'm not closing
> the file that I'm browsing, closing some other file,
> even if not called in drop processing is affecting pkeep.
>
> I guess I can live without the close (although there is
> also a routine to delete marks and I really would like
> to be able to at least close there).
>
> I'm sure that I was doing it that way before in Unix
> (although it probably was an earlier 5.0 filepro).
>
>
> Bruce
>
>
> Bruce Easton
> STN, Inc.
>
Bruce,
Try a write instead of the close.
Richard
More information about the Filepro-list
mailing list