Other B4J v8.30 BETA is available for download

Status
Not open for further replies.

Erel

B4X founder
Staff member
Licensed User
Longtime User
Improvements:

  • Support for Java 14. As with Java 11, B4J expects a specific structure. You should download this package (OpenJDK 14 + OpenJFX 14): https://b4xfiles-4c17.kxcdn.com/jdk-14.0.1.zip
  • Build standalone package - B4JPackager11 is now integrated in the IDE. This makes it simpler to build standalone packages: Integrated B4JPackager11.
  • Add new module - Option to add the new module to the parent folder. This is useful in cross platform projects where the modules are shared between the different platforms.
  • Fix for a design issue that existed since B4A v1.0 where in some cases assignment of an object to a variable can also change other variables that point to the same "wrapper".
  • New warning:
    "Comparison of Object to other types will fail if exact types do not match.
    Better to put the object on the right side of the comparison. (warning #35)"
    See post #6.
  • Several debugger fixes.
  • New "contribute" menu item.
  • Current selected line, in the search results and other syntax colored lists, is displayed.
  • B4XTurtle is now an internal library.
  • Latest versions of all internal libraries are included.
  • Other bug fixes and minor IDE improvements.
Download link: www.b4x.com/b4j/files/beta.exe
Note that in the first beta the packager tool will fail if Windows is not installed under C:\Windows. This is fixed for the next beta.
 
Last edited:

udg

Expert
Licensed User
Longtime User
I take it that B4J 8.30 is still able to work/compile with Java 8 and Java 11 too, right?
Eventually just the new feature of the integrated Packager11 is limited to Java 11 and Java 14, but that should be expected since we already had two distinct Packagers..
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
New warning #35:
"Comparison of Object to other types will fail if exact types do not match.
Better to put the object on the right side of the comparison."
B4X:
Dim m As Map = CreateMap("x": 1)
If m.Get("x") = 1 Then '<--- warning here (although the code will work as expected in this case).
  
End If
The reason behind this warning is that the types must match exactly for the comparison to return the expected result.
It is better to write it like this:
B4X:
If 1 = m.Get("x") Then 'no warning here
Now the compiler will know that it is a numeric comparison and it will be safer.
Example where it will actually fail unless we switch sides:
B4X:
Dim d As Double = 1
Dim m As Map = CreateMap("x": d)
Log(d = 1) 'true
Log(m.Get("x") = 1) 'false <---- unexpected
Log(1 = m.Get("x")) 'true
 
Upvote 0

Zeppah

Member
I now get the following message when trying to compile in debug mode: WARNING: package com.sun.javafx.embed.swing.oldimpl not in javafx.swing
 
Upvote 0

Peter Simpson

Expert
Licensed User
Longtime User
Hello Anywhere Software,
I've just started B4J so that I could continue coding a Windows/MacOS app for a client of mine when I saw this link at the bottom of the IDE. After searching the forum I found this thread.

1589750131156.png


You know that I will do that :)
1589750892871.png


I've downloaded it and I'm testing it as I type this.

Thank you @Erel
 
Upvote 0

Markos

Active Member
Licensed User
Longtime User
Thanks a mil Erel for allowing support for java14 as this fixes the key stroke capture issue with Mac store submission.

Does this version for B4J and B4JPackager11 address the issue of the Mac App launching the java dock with the class name instead of the app name? If it doesnt yet do you have plans in future versions to generate Native Mac App using B4J as does B4i creates iOS native apps using XCode integration via b4iBuilder?
 
Upvote 0

little3399

Active Member
Licensed User
Longtime User
TKS , but I found some bug ? if using B4J 8.30 to build standalone package , it output exe file can not running , but build jar file is very well , pls see link for checking ...
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Does this version for B4J and B4JPackager11 address the issue of the Mac App launching the java dock with the class name instead of the app name?
No. If you find a JavaFX (not AWT or Swing) solution for this then I can help you port it.

Is there not a way to set where the 'Build Standalone' outputs too?
I've added an example that copies the build to a different folder: https://www.b4x.com/android/forum/t...-way-to-distribute-standalone-ui-apps.117880/
 
Upvote 0

tchart

Well-Known Member
Licensed User
Longtime User
@Erel Malwarebytes is flagging the launcher created by the built in launcher. Ive submitted a false positive report via their forum.

UPDATE: Malwarebytes say they have fixed it.

chrome_GrxTo5tYyc.png
 
Last edited:
Upvote 0
Status
Not open for further replies.
Top