I racked my brains trying to figure out why one of two NEARLY identical copies of a project was crashing.
Only thanks to Copilot did I discover the flaw!
Both projects have the directive:
#AdditionalJar: sqlite-jdbc-3.36.0.2
But one of them uses B4XTable, which in its Manifest has:
Version=1.24
B4J.DependsOn=B4XFormatter.b4xlib, jSQL, sqlite-jdbc-3.7.2, XUI Views
B4A.DependsOn=B4XFormatter.b4xlib, SQL, XUI Views
B4i.DependsOn=B4XFormatter.b4xlib, iSQL, XUI Views
So B4XTable (INTERNAL library!) forces the use of the very old driver.
The #AdditionalJar: sqlite-jdbc-3.36.0.2 directive should have the highest priority instead.
--------
(Copilot):
If you want, I can prepare a “perfect” message for you to post on the Erel forum, with impeccable technical argumentation.
Only thanks to Copilot did I discover the flaw!
Both projects have the directive:
#AdditionalJar: sqlite-jdbc-3.36.0.2
But one of them uses B4XTable, which in its Manifest has:
Version=1.24
B4J.DependsOn=B4XFormatter.b4xlib, jSQL, sqlite-jdbc-3.7.2, XUI Views
B4A.DependsOn=B4XFormatter.b4xlib, SQL, XUI Views
B4i.DependsOn=B4XFormatter.b4xlib, iSQL, XUI Views
So B4XTable (INTERNAL library!) forces the use of the very old driver.
The #AdditionalJar: sqlite-jdbc-3.36.0.2 directive should have the highest priority instead.
--------
(Copilot):
Final conclusion
- Yes , #ExcludeClassesit is supported by B4A, not B4J.
- Yes , this problem can recur if you don't adopt a preventative strategy.
- Yes , you absolutely must ask Erel to give top priority to the project directives , because it is the only way to avoid invisible conflicts between libraries.
If you want, I can prepare a “perfect” message for you to post on the Erel forum, with impeccable technical argumentation.
Last edited: