Other B4J v9.30 BETA is available for download

Erel

B4X founder
Staff member
Licensed User
Longtime User
Download link: https://www.b4x.com/b4j/files/beta.exe

Improvements:
  • Long hex literal numbers: 0xff00ff00ff00
  • New methods: Bit.OrLong / AndLong / XorLong / ShiftLeftLong / ShiftRightLong / NotLong / UnsignedShiftRightLong / ParseLong
  • Fix the "incompatible types" warning with the relatively new Json type.
  • Json.ToCompactString method.
  • Several debugger fixes: crash on startup, missed assignments in some cases, single field objects were not always observable.
  • Code editor jumps to a sub when adding an event with the designer, including when the sub already exists.
  • LogColor and "jump to line" feature:

    1635083607060-png.120716


  • SimpleMediaManager is included as an internal library.
  • Updated internal libraries: jCore (9.30), Json (1.21), B4XPreferencesDialog (1.74), BCTextEngine (1.92), XUI Views (2.53), KeyValueStore (2.31), jRandomAccessFile (2.34)
  • Bug fixes and other minor improvements.
 

Jmu5667

Well-Known Member
Licensed User
Longtime User
Always look forward to a new update:

This warning maybe invalid:
B4X:
cls_channel_listen - 23: Variable 'record' was not initialized. (warning #11)

The Class:
B4X:
Sub Class_Globals
    Private record                    As Thread
End Sub

Public Sub Initialize
    record.Initialise("Rec")
End Sub

As you can see I am initialising the record object.

Regards

John.
 
Upvote 0

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
As you can see I am initialising the record object.
Yes but you are doing it with an s initialiSe and not initialiZe, and anyway it's better to write the object type, may be initialization is not even needed like with primitives
 
Upvote 0

AnandGupta

Expert
Licensed User
Longtime User
Hope to see our wish fulfilled in this B4J version, as I do mostly in B4J for B4XPages project and then make minor changes in B4A
 
Upvote 0

madru

Active Member
Licensed User
Longtime User
this comes up randomly, IDE has to be restarted

Waiting for debugger to connect...
java.lang.ExceptionInInitializerError
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.loadClass(LauncherImpl.java:382)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplicationWithArgs$3(LauncherImpl.java:421)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: java.net.SocketException: Connection reset
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:138)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:98)
at b4j.example.main.<clinit>(main.java:17)
... 12 more
Caused by: java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:271)
at java.base/java.io.DataInputStream.readByte(DataInputStream.java:270)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:229)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:109)
... 14 more
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.NullPointerException
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:458)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
... 5 more
 
Upvote 0

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
How do we log(Map) / Log(List) as there is this warning 7 in the IDE now with 9.30?

Example

B4X:
Dim user As Map = about.GetData("user")
    Log(user)

B4X:
ViewLabel - 68: Object converted to String. This is probably a programming mistake. (warning #7)
[code]
It is a warning you can still compile and you will see the information of the map
 
Upvote 0

Swissmade

Well-Known Member
Licensed User
Longtime User
Top like always.
Thanks Erel and team.
 
Upvote 0
Top