AnsweredAssumed Answered

keyboard input not buffering properly for stroke-by-stroke searches

Question asked by ronhofius on May 22, 2012
Latest reply on Jun 15, 2012 by TSGal

Summary

keyboard input not buffering properly for stroke-by-stroke searches

Product

FileMaker Pro

Version

12

Operating system version

windows 7

Description of the issue

I have several scripts that work as "onObjectModify" script triggers off of global fields to do a keystroke-by-keystroke search, refreshing the results list as the user types. I used a sample script I got from FileMaker when an employee visited, and it worked great, so I put versions of it in several places. The basic drill is to use $var=get(ActiveSelectionStart)and then Set Selection[StartPosition: $var] to keep my cursor in the right place as they type. The problem is that while it used to buffer all keystrokes and catch up to itself with no issues, with FM12 it no longer buffers

Steps to reproduce the problem

Global field with onObjectModify script triger:

capture the current cursor position to a variable with get(ActiveSelectionStart),
then enter find mode and set a field to the value of the triggered global,
Perform Find
Return to the cursor position with Set Selection script step

Expected result

As the script bogs down a bit with complexity and/or sorts, etc., I expect the keyboard input to buffer so that no keystrokes are missed.  If I typed "Ron Hofius" in the global field, I would expect, even if there are some delays while it processes, that the contents of the global field would look like this:

Ron Hofius

And the search would execute with each keystroke, as it did with FM 11.

Actual result

Instead, the Results look something like this:

RnHfs

And of course, the search results fail accordingly.

Exact text of any error message(s) that appear

No error messages

Configuration information

Nothing not mentioned above. This occurs across several solutions I have written

Workaround

I have changed the script triggers to OnObjectExit triggers and dropped all of the Active Selection logic. Now searches execute when the user presses Enter, Return or Tab. So I am working around this, but it is no where near as nice as it was.

Outcomes