1 Reply Latest reply on Jun 15, 2012 3:56 PM by TSGal

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

    ronhofius

      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.