Web2 Backwards Compatibility 2020R2 to earlier versions is fragile

Due to NilObjectException in WebMessageDialog WebMessageDialogButton I was forced to take my 2020 R2.1 project back a few versions to 2020 R1.2.

Unfortunately, there’s a breaking change between these versions, so a Web2 project saved in 2020 R2 or later would not run on 2020 R1.2.

The solution:

  1. Manually edit the xojo_project file and change RBProjectVersion, MinIDEVersion, and OrigIDEVersion back to earlier values.
  2. Using BBEdit (or another text editor), remove all instances of

_mPanelIndex = "-1"

from all source files.

I did a search & replace with the folowing RegEx in BBEdit:

(.*)_mPanelIndex = "-1"\n

replace with nothing.

2 Likes

Update: there is also the issue of WebLabels losing their text caption (since it changed from WebLabel.Value in 2020 R1 to WebLabel.Text in later versions). You’ll also need to do a search & replace on those as well.

1 Like