Other Basic4android v3.50 BETA is released

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release the first beta of Basic4android v3.50. This update brings major improvements to the debugging features of Basic4android.

With this update you can enjoy the rapidness and power of the rapid debugger with runtime performance close to non-debug deployments.

A new powerful watch expression feature is also available:

SS-2014-02-23_14.48.37.png


This allows you to easily evaluate expressions when the debugger is paused.

New features and improvements:
  • Rapid debugger runtime performance is now close to non-debugged applications.
  • Watch Expressions feature (see screenshot above).
  • The rapid debuggers uses a virtual assets folder. This makes it possible to redeploy only the modified files. This feature makes deployments of large projects with many files much faster.
  • Visual designer - Views tree performance is significantly better. Views preserve their names when pasting views between layouts.
  • #AdditionalRes attribute can be used multiple times.
  • ScrollView.ScrollToNow method (available in HorizontalScrollView as well). Immediately scrolls the ScrollView to the new position.
  • Quick Search tool (Ctrl + I) - An index based search tool for quick searching (in all modules):

    k2v8.png


  • Regions were added to the Find Sub (Ctrl + E) tool.
  • New attributes: #DebuggerForceFullDeployment and #DebuggerForceStandardAssets.
  • Other minor improvements and bug fixes.
This is a beta version. Make sure to backup your projects before loading them with the new version.
Beta testers, please post any issue you find in a new thread in the questions forum.
 

fredo

Well-Known Member
Licensed User
Longtime User
What do you mean with IDE-customizing? You can change most of the colors now.

Excuse me for being not clear in my question.

What I meant was more like a wish:
I would find it useful to have something like the "Tools-IDEOptions-TabSize" but for "Tools-IDEOptions-Reference matches count".

So I could set it to maybe "500 matches" for larger projects.
 
Upvote 0

pappicio

Active Member
Licensed User
Longtime User
Thanks, code is compiled now in rapid debug mode, also with widgets, but when I try to insert the widget on home screen, not appear into widgets list.
 
Upvote 0

klaus

Expert
Licensed User
Longtime User
Hi Erel, I begun to test B4A version 3.50B2 and have trouble with Debug(rapid) with most of my projects.
Attached a simple project SQLiteLight2 which runs OK in version 3.20.
The program crashes when loading with the Log message below:
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Error occurred on line: 105 (main)
java.lang.NullPointerException
at anywheresoftware.b4a.shell.Shell.setStateBeforeUserSub(Shell.java:425)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:357)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:237)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:116)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:158)
at b4a.sqlitelight2.main.afterFirstLayout(main.java:104)
at b4a.sqlitelight2.main.access$100(main.java:16)
at b4a.sqlitelight2.main$WaitForLayout.run(main.java:76)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
 

Attachments

  • SQLiteLight2.zip
    17.2 KB · Views: 217
Upvote 0

wimpie3

Well-Known Member
Licensed User
Longtime User
What do you mean with IDE-customizing? You can change most of the colors now.

Yes, the colors in the editor can be changed, but not the rest of the IDE colors (toolbar background color, fonts, window background color, ...)
 
Upvote 0

monki

Active Member
Licensed User
Longtime User
Hi Erel,
I have the same problem as in post # 25 with Beta 2
The line
MyFont = Typeface.LoadFromAssets ("DOTMATRI.ttf")
causes the following error. (Rapid debuger)

java.lang.RuntimeException: native typeface can not be made
at android.graphics.Typeface.<init>(Typeface.java:175)
at android.graphics.Typeface.createFromAsset(Typeface.java:149)
at anywheresoftware.b4a.keywords.constants.TypefaceWrapper.LoadFromAssets(TypefaceWrapper.java:40)
.......
greeting
Monki
 
Upvote 0

tonyhunt

Member
Licensed User
Longtime User
@tonyhunt can you please check the Windows XP highlight issue with this version?[/quote]

Highlight issue still there with 3.5 Beta 2. Black font on Dark Blue highlight.

Also apparent on Visa.
 
Upvote 0

andrewj

Active Member
Licensed User
Longtime User
Hi,
Although it runs much quicker, there's definitely something a bit buggy with the new version in Debug(Rapid) mode. I'm getting a lot of "null pointer" exceptions, with varying locations in the code, the first time I interact with the screen. The following is typical:
B4X:
Error occurred on line: 941 (main)
java.lang.NullPointerException
    at anywheresoftware.b4a.shell.Shell.setStateBeforeUserSub(Shell.java:425)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:357)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:237)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:116)
    at anywheresoftware.b4a.BA$2.run(BA.java:284)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4921)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    at dalvik.system.NativeStart.main(Native Method)
The offending code is allegedly the last line of the following, which should be no issue:
B4X:
    lstMenu.Initialize("lstMenu")
    lstMenu.Color = Colors.DarkGray
    sMenuMode = "Edit"
    If bSelectMode Then
        lstMenu.AddSingleLine("Select Off")
    Else
        lstMenu.AddSingleLine("Select On")
    End If
(sMenuMode is a simple string, and bSelectMode is a simple boolean).

The next time I ran the same code I got an error traced to a completely different line of code, essentially the end of the sub.

I've re-installed V3.2, and the problems have gone away (although I am suffering "cold turkey" because it's much slower :) ).

Please let me know if there's anything I can do to help track this down, because otherwise the new version is a definite improvement.

Thanks
Andrew
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
@pappicio widgets and live wallpapers should be tested in release mode because the process (in most cases) is started by the OS and not like a standard application. I will add a note about it in the tutorials.

@klaus I see it too. Thank you. I will check it. Seems like the same issue @andrewj encountered.

@monki this issue is fixed for the next beta. Thank you.
 
Upvote 0

wimpie3

Well-Known Member
Licensed User
Longtime User
Two cosmetic bugs:

bug1.png


Selected item not visible due to the color scheme.

bug2.png


Buttons missing on the Compile & Debug screen (they appear when the compilation is done, so presumably you have to add a doEvents here to force the screen update when opening the window).
 
Upvote 0

pappicio

Active Member
Licensed User
Longtime User
@pappicio widgets and live wallpapers should be tested in release mode.....
Yes, I forgot to specify that, I compiled into release, not obfuscated, and no widgets into widgets list to apply on hone screen, I compiled more than one time, (in release) same result, no widget to apply in home.
 
Upvote 0

pappicio

Active Member
Licensed User
Longtime User
Just tested it and it works fine. Please start a new thread for this question and if you can upload your project.
you're true, I deleted the project, copyed the backuped one from 3.2, recompiled with 3.5 and now widget works fine, sorry for my useless question.
 
Upvote 0

wimpie3

Well-Known Member
Licensed User
Longtime User
Font problems are resolved now in Beta 3, thanks Erel.

I now seem to be having troubles with my service:

java.lang.RuntimeException: Unable to create service demo.android.servicetoday: java.lang.RuntimeException: java.lang.Exception: Sub service_create signature does not match expected signature.
 
Upvote 0
Top