Karen, Here is the routine that I use in my on-click EEP.  I think this will
fix your problem.

 

SET VAR vEEP_Running INTEGER
IF vEEP_Running IS NOT NULL THEN
  RETURN
ENDIF
SET VAR vCLICK_COUNT = (.vCLICK_COUNT +1)
recalc var
pause for 1
SET VAR vEEP_Running = 1
PROPERTY RBASE_FORM TIMERENABLED 'TRUE'
RETURN

 

The EEP in the form timer clears vEEP_Running and turns the timer off.

 

Now the Mouse Happy users can click away!

 

John

 

From: [email protected] [mailto:[email protected]] On Behalf Of
[email protected]
Sent: Monday, July 12, 2010 9:52 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: access violation

 

John:  Back up the wagon... I'm interested in hearing how you used a form
timer to do this.

At one client I have a nice DBGrid with an on click EEP that brings up the
individual edit form.  The eep closes the form completely, then brings up
the individual edit form.   My problem:  everything is run from a main menu
that stays in the background.  If they double-click on the DBGrid row rather
than single-click, it actually launches the first item on the background
main menu as if they clicked on it!  This happens in the second it takes for
the individual edit form to come up!  So they end up with actually 2 forms
on their screen (and they aren't MDI forms) so that confuses RBase and it
locks up.  I was thinking I would either have to replace the DBGrids with
list views so they can double-click, or perhaps close that main menu and
have all forms come off my main app instead.

So how does a form timer help that?

Karen





About a year ago I struggled with a similar problem.  In my case, I isolated
the problem to forms with DBGrids where I make use of the on click EEP.  I
discovered that some users would click multiple times (instead of once)
causing various errors or erroneous results (including occasional access
violations).  To resolve the problem, I made use of the form timer to
restrict the clicks to one.

  

If your problem is similar to the problem I had, let me know and I will send
you a copy of the code that I use.  I am not in my office at the moment but
I should be back around 2:00 PM and I will send it to you if you want to
give it a try.

  

John

 

Reply via email to