XFRX is very slow.
KB-20221005-01
Version
XFRX 17.0
Symptoms
- XFRX#INIT engine is used.
- XFRXlog doesn't contain errors.
SetThis()
orSetThisform()
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