From: McCrayBill@SpringMind.com   
      
   Yes. I forgot to mention initializing it in Init(). Thanks.   
      
   Bill   
      
   On Sun, 08 Jun 2008 17:10:02 -0400, Jeff Shoaf    
   wrote:   
      
   > You're right - if you declare the flag at the form level, it keeps it's   
   > value as long as the form is open. I tend to put one-shots near the code   
   > where they're used so they're obvious.   
   >   
   > Still, if declared at the form level, you need to be sure to give it a   
   > value before trying to read it. I'd probably set it to false in the   
   > form's init() event.   
   >   
   > Jim Hargan wrote:   
   > > IOW, declare the logical flag variable in the var method of the form (or   
   > > some other object in the containership hierarchy between the field and the   
   > > form).   
   > >   
   > > And (just a suggestion here) call it   
   > > var   
   > > gloFlag logical   
   > > endvar   
   > > with "glo" meaning "global logical". Now you (or your successor) will   
   > > always know its data type and where it's been declared!   
   > >   
   > > I like this solution, and have used it a number of times -- but I now   
   > > consider it a fudge, and instead look for the cause of the event firing   
   > > when I don't want it to. When I have time, that is.   
   > >   
   > > --   
   > > Jim Hargan   
   > >   
   > > On Sun, 08 Jun 2008 09:36:02 -0400, Jeff Shoaf wrote:   
   > >   
   > >> I've always called this type of construct a "one-shot" - maybe due to my   
   > >> electronics background.   
   > >>   
   > >> Note that the var declaration needs to be placed above the event   
   > >> declaration or it will be cleared each time the event runs. Also note   
   > >> that you need to check to see if it's been assigned a value before   
   > >> checking the value or you'll get an unassigned variable error.   
   > >>   
   > >> var   
   > >> flag logical   
   > >> endVar   
   > >>   
   > >> ChangeValue() ; This is the first line of code that's automatically   
   > >> ; created by Paradox - I can't remember the full line   
   > >>   
   > >> if not flag.isAssigned() then   
   > >> flag = false   
   > >> endIf   
   > >>   
   > >> if not flag then   
   > >> flag = true   
   > >> ; your code   
   > >> flag = false   
   > >> endIf   
   > >>   
   > >>   
   > >> Bill McCray wrote:   
   > >>> If you are concerned about changes leading to back and forth   
   > >>> triggering, define a Logical variable in the Var section for each   
   > >>> field. Let's call it "Flag". Use Flag to avoid repeating an   
   > >>> operation.   
   > >>>   
   > >>> If Not Flag Then   
   > >>> Flag = True   
   > >>> ; Put your changes here   
   > >>> Flag = False   
   > >>> EndIf   
      
   ----------------------------------------------------------------   
   Reverse parts of the user name and ISP name for my e-address   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|