XFRX is very slow.

KB-20221005-01

Version

XFRX 17.0

Symptoms

  • XFRX#INIT engine is used.
  • XFRXlog doesn't contain errors.
  • SetThis() or SetThisform() methods are called

Cause

If you call SetThis() or SetThisform() methods then XFRX use EXECSCRIPT() for evaluating all expressions - because can contains  This or Thisform (for VFP 9) . It's beautiful function, but it's very slow for the case. This change was in XFRX 17.0.

Workaround

Workaround is simply for a few reports:

  • Open report as table and change thisform to poForm
    REPLACE EXPR WITH STRTRAN(EXPR, "Thisform", "poForm") , REPLACE SUPEXPR WITH STRTRAN(SUP, "Thisform", "poForm")  ALL
    REPLACE TAG WITH STRTRAN(TAG, "Thisform", "poForm")  FOR OBJTYPE=18
  • Create public variable poForm.
  • Fill it with value Thisform.
  • Calls XFRX#INIT