Other B4J v9.00 BETA is available for download

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release B4J v9.00 BETA.
Download link: www.b4x.com/b4j/files/beta.exe

Improvements:
  • IDE performance - several cases where the typing speed became slow were fixed. The speed difference in those cases is significant.
  • #PackagerProperty can be used multiple times with the same key.
  • Internal packager supports packaging non-ui apps (windows only for now). The size of a zipped non-ui package is around 14mb.
  • File.DirData / XUI.DefaultFolder on Mac point to ~/Library/Application Support/[AppName] where AppName is the value set with XUI.SetDataFolder. This is similar to the behavior in Windows.
    It is required when running packed apps.
  • b4xlibs - manifest file supports an Extra field. The value is a single line json string. For now it is used in B4J to add #PackagerProperty attributes automatically. It will be used for other features in the future. See XLUtils.b4xlib for an example.
  • Fixed several cases where javafx.web module was required even when not using WebView.
  • Add existing modules dialog - option to copy module(s) to parent folder.
  • New "before packager" custom build action step.
  • Other bug fixes and minor improvements.
jPOI
jPOI v5.01 is included as an internal library. There are some minor API changes. It is recommended to use the new version and for new projects use XLUtils.
You should reference XLUtils even if using jPOI directly: https://www.b4x.com/android/forum/threads/129969/#content
The old version is available here: https://www.b4x.com/android/forum/t...t-excel-xls-and-xlsx-workbooks.57392/#content
 
Last edited:

behnam_tr

Active Member
Licensed User
Longtime User
thanks @Erel for support and update .

I have a question, maybe a request

In debug mode, CPU usage goes up dramatically:)
Is it possible to compile the part of the program that we need?
Especially in projects that involve a large number of forms
 
Upvote 0

xulihang

Active Member
Licensed User
Longtime User
What are the small non-backwards compatible changes of jPOI 5? Since it is an internal library, will this affect previous projects using the old version of jPOI?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
As I have a huge project using jPOI, I will test it the next month and write a short migration tutorial (at least I write down what I had to change).
The migration from jPOI 4 to jPOI 5 should be simple. The "real" migration should be from jPOI directly to XLUtils.
New projects should definitely use XLUtils as it provides simpler API and many features not available in jPOI.
 
Upvote 0

Javier Lovay

Member
Licensed User
Longtime User
Congratulations Erel and thank you very much for your invaluable support. B4X is the best and most complete development environment that I have used. Absolutely the best.
 
Upvote 0

bdunkleysmith

Active Member
Licensed User
Longtime User
Noted that when using a b4xlib which includes the Extra field which adds #PackagerProperty attributes automatically, eg. XLUtils.b4xlib and the project already includes an #PackagerProperty line, eg.
B4X:
    #PackagerProperty: IncludedModules = javafx.web, jdk.crypto.ec

that a comma (,) had to be appended, eg.
B4X:
    #PackagerProperty: IncludedModules = javafx.web, jdk.crypto.ec,

otherwise the integrated packager throws an error:
B4JPackager11 Version 1.40
Exe name: BDSSynergyStatsAnalyser.exe
build folder: C:\Users\Public\DOCUME~1\Bryon\Java\LIF1AC~1\SYNERG~1\Objects\temp\build
InputJar: C:\Users\Public\Documents\Bryon\Java\LiveStatsAnalyser\SynergyStatsV1\Objects\BDSSynergyStatsAnalyser.jar
Running: C:\Users\Public\DOCUME~1\Bryon\Java\LIF1AC~1\SYNERG~1\Objects\temp\FindDosPath.exe
Running: C:\Java11\jdk-11.0.1\bin\jar
Package name: b4j.livestats
Running: C:\Java11\jdk-11.0.1\bin\jdeps
.
.
.
.
.
.
.
.
.
.
.
Explicitly excluded modules: [javafx.web]
Included modules: [javafx.web, jdk.crypto.ec jdk.charsets, java.base, java.desktop, java.logging, java.security.jgss, java.xml, java.xml.crypto, javafx.base, javafx.controls, javafx.fxml, javafx.graphics, javafx.media, javafx.swing, java.scripting, jdk.unsupported, java.datatransfer, jdk.unsupported.desktop, jdk.jsobject, jdk.xml.dom]
Running: C:\Java11\jdk-11.0.1\bin\javac
.
module-info.java:3: error: ';' expected
requires jdk.crypto.ec jdk.charsets;
^
module-info.java:3: error: module directive keyword or '}' expected
requires jdk.crypto.ec jdk.charsets;
^
2 errors
 
Upvote 0
Top