Cache( unable to access formulalocal variables


#1

I’m getting that error message in the first column of a TextListObject, on a form used for a tab of a Tab Panel Object on another form. It happens when I use the following in the query box of the TLO (the real one, but the copy in the TBO:
arrayboth(_DXSearch, D10Line, ",")≠""
D10Line is a field whose contents are either blank or a comma separated text array.

_DXSearch is a fileglobal variable holding the Data for a TDO, used as a search widget on the TPO form, but outside the bounds of the TPO. For this database with 117 fields and 40k+ records an ‘export line() contains’ search wasn’t ideal. I set up multiple copies of the constructor’s search widget on the TPO form, but outside the TPO, with separate fileglobal variables, for individual fields of interest. Then I combined them in a big boolean query in each tab’s TLO query box. I got a dozen separate searches operating ok together that way. Most were simple ‘contains’ searches, but some used other comparisons. Speed wasn’t instantaneous, but was adequate with Background checked.

I thought inputing a cvs search array into _DXSearch whose query would then select any records in which D10Line had any items in common might prove useful, but ran into this error. Trimming the big boolean query down to just this arrayboth(… ≠"" still produces the error. Putting the array both(… ≠"" into a TDO outside the TPO evaluates to the correct T/F value for the current record, but the TLO only displays the error. Something isn’t scanning.

I’m not explicitly using the cache( function but won’t be surprised to learn it’s used internally within the TLO and TPO magic.

I’ve added a checkbox button to optionally add info("visible")=true() to my boolean query so I could potentially run the array both(…≠"" separately at the data sheet level as a front end to the TLO query for a workaround. But I remain curious as to why I’m getting this error message doing thing this way.