Re: VB6 Application Overwhelmed by Rapid User Interaction




"Joseph Geretz" <jgeretz@xxxxxxxxxx> wrote

If the user clicks reasonably, or even moderately quickly from entry to
entry the application behaves fine. However if the user will 'attack' the
interface by scrolling rapidly up and down the grid from entry to entry, up,
up, up, down, down, down, up, up, up, down, down, down etc. in rapid
succession, the application will throw an unanticipated application failure;

I've tried a couple of approaches to try to clear the keyboard buffer prior
to re-enabling the form, but noeither of these seem to work.

I appreciate any advice which you can provide.

In another post you state:

While that flag is true, any keystrokes received by the grid are
simply discarded.

Does that mean that the user is held back from advancing too fast?

I was just going to mention another approach that would allow the
user to move the focus to the row they want, at the speed they
want.

If, instead of calling the DB and web page on a row change, you
store the new row index in a queue, you could use a timer to read
the queue and display the data. That way the user is simply filling
a queue which can happen rapidly, and not overwhelm the system.

The trick to keeping up with the user is, in the timer event, where
you are going to get and show the data, you check the size of the
queue. If the queue has more than one item, remove all but the last
one and use that.

The timer could be set at a rate that will not overwhelm the system,
so that no matter how fast the user types, the data is called up at
a moderate pace....

LFS


.



Relevant Pages

  • Re: Do I need a RTOS?
    ... You pointed out the basic idea of having a regular timer (you ... exists and that delta queue insertion is already implemented [to be ... insertdq(SetPinHigh, 150); ... entry from the queue and executes the function. ...
    (comp.arch.embedded)
  • Re: Smart programming languages
    ... Ada has provided this since 1995 through its protected objects. ... The specification for my protected bounded circular queue is: ... A modular type, such as Queue_Index has a range modulo the number ... When a task calls a protected entry, ...
    (comp.programming)
  • Re: [OpenVMS Alpha V7.3-2] Batch/Print Job Numbering
    ... $ SUBMIT/qualifierfilespec/HOLD ... listing of every entry number used for that job in ascending order by ... Imagine his queue numbers run from 1 to 1000. ... ...is output to the log file, that will help naarow it down, but not ...
    (comp.os.vms)
  • Re: timer implementation
    ... timer and the case where the timer runs to expiration? ... your timer tick is pre-emptive. ... Link the given node into the given queue, as a delta-key entry. ...
    (comp.arch.embedded)
  • Re: VB6 Application Overwhelmed by Rapid User Interaction
    ... entry the application behaves fine. ... store the new row index in a queue, you could use a timer to read ... the queue and display the data. ... A similar approach is to disable and reenable a timer when a row is selected, then in the timer event, just get the latest row. ...
    (microsoft.public.vb.winapi)

Loading