This feels like a bug to me, and I don't know how to report it. This seemed like the best place to post it.
I have an app that has grown to a decent size. I'm making use of User Defined Functions in it, which is a Preview feature. The app has got to a point that any time I make any change to the Formulas property, the App Checker reports an error, but the error is a false positive. I've created a minimal app to reproduce the bug. I've attached the .msapp file to this question.
App Formulas looks like:
fnSetTabList():Void =
{
ClearCollect(
varTabList,
{Value: "Foo"}
)
};
fnAllFormsAreClean():Boolean =
{
true
};
The fnSetTabList function is called in OnStart. My screen is very simple, here's the yml:
Screens:
MyProfile:
Properties:
Fill: =RGBA(245,245,245,1)
LoadingSpinnerColor: =RGBA(56, 96, 178, 1)
Children:
- TabList1:
Control: TabList@2.2.30
Properties:
BasePaletteColor: =RGBA(5, 102, 178, 1)
Items: =varTabList
OnSelect: |-
=fnAllFormsAreClean();
Set(
varCurrentTab,
TabList1.Selected.Value
);
Width: =Parent.Width/1.5
X: =20
Y: =20
If I edit the Formulas property - even a simple edit like just adding a space - the App Checker reports:
'fnAllFormsAreClean' is an unknown or unsupported function.
That's a false error because fnAllFormsAreClean definitely exists. I can clear the error by either CTRL-A, CTRL-X & CTRL-V in the formulas field, or by doing any edit ( like adding a space ) to the OnSelect property of the TabList1.
Additional information:
- If fnAllFormsAreClean comes before fnSetTabList in the Formulas property, the problem does not occur
- If fnSetTabList does a Set(varTabList,[{Value: "Foo"}]) instead of ClearCollect, the problem does not occur
- If I remove the Set(varCurrentTab,...) statement in the OnSelect of TabList1, the problem does not occur
This example is greatly reduced to try and figure out the crux of the issue.
I would appreciate if someone would take the time to load the attached msapp file into their own environment and see if the issue happens for them. If it's reproduceable elsewhere, I'd like to report this bug to Microsoft. Is there any way to do that?