Bug? Bad script generation

Informatix

Expert
Licensed User
Longtime User
I wrote this script in the designer and it works well there, but when I compile my project, B4J stops on an error. It seems there's a problem in the generated code.

B4X:
'All variants script
NbPanes = 0
If chAltitude.Visible Then NbPanes = NbPanes + 1
If chHeartRate.Visible Then NbPanes = NbPanes + 1
If chVitesse.Visible Then NbPanes = NbPanes + 1
If chCadence.Visible Then NbPanes = NbPanes + 1
PanHeight = panCharts.Height / NbPanes
CurrentPos = 0
If chAltitude.Visible Then
    panAltitude.Height = PanHeight
    chAltitude.Height = panAltitude.Height
    CurrentPos = PanHeight
End If
If chHeartRate.Visible Then
    panHeartRate.Top = CurrentPos
    panHeartRate.Height = PanHeight
    chHeartRate.Height = panHeartRate.Height
    CurrentPos = CurrentPos + PanHeight
End If
If chVitesse.Visible Then
    panVitesse.Top = CurrentPos
    panVitesse.Height = PanHeight
    chVitesse.Height = panVitesse.Height
    CurrentPos = CurrentPos + PanHeight
End If
If chCadence.Visible Then
    panCadence.Top = CurrentPos
    panCadence.Height = PanHeight
    chCadence.Height = panCadence.Height
End If

ERROR:
B4J version: 4.50
Parsing code. (0.06s)
Compiling code. (0.06s)
Compiling layouts code. (0.00s)
Compiling generated Java code. Error
Error compiling designer script.
File: info, variant: General script
Line value: If chAltitude.Visible Then
javac 1.8.0_73
src\flm\b4j\runanalyst\designerscripts\LS_info.java:15: error: illegal start of expression
if (([[B4I shared]ObjectToBoolean: (String.valueOf(views.get("chaltitude").getVisible()))])) {
^
1 error

When I look at the generated Java code, the result is a bit weird:
B4X:
if (([[B4I shared]ObjectToBoolean: (String.valueOf(views.get("chheartrate").getVisible()))])) {

What is this [B4I shared]ObjectToBoolean?
The only clear thing here is that this result cannot work in Java.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…