Other Basic4android v3.00 BETA is released

Erel

Administrator
Staff member
Licensed User
Hi all!

The first beta version of Basic4android v3.00 is released.

The main new feature in this version is the rapid debugger: Rapid Debugger
The rapid debugger makes it much easier and quicker to test and debug your code.

Other improvements:
  • Better support for large number of background tasks. This update (together with an update to the Http library) allows you to send hundreds of requests at once.
  • B4A-Bridge - Last 5 IP addresses are stored. F2 connects to the last one. Some other small improvements in the connection process.
  • For loop performance improvement.
  • Activity / Panel.GetAllViewsRecursive. Provides a simple way to iterate over all views.
  • Color picker. Right click in the code editor to show it.
  • List.SortTypeCaseInsensitive method.
  • PhoneSms.Send2 - send sms without notifications.
  • Screenshots tool - Copy to clipboard.
  • Compilation window closes automatically when it loses focus.
  • Bug fixes and other minor improvements (including the fix for Android 4.3 back key issue and the IDE scrolling issue).
Customers (with an enterprise license) who are eligible for a free upgrade should receive an email with a download link.

The rapid debugger feature is the most complicated improvement since B4A v1.00. This is a beta version. It is more than likely that you will encounter issues with it...
Please post any issue in a new thread in the questions forum tagged with the Beta prefix.

v3.00 BETA #6 is now available in the same link. It fixes the issues discussed in the forum.

You can install this version together with other versions of Basic4android.

Thank you all for your help!
:)
 
Last edited:

corwin42

Expert
Licensed User
Is it correct that while I can use the legacy debugger for Apps which use the threading library it is not possible to use the rapid debugger because the threads are not executed?

In legacy debugger I can debug my "normal" code. I just have to make sure that the debugger does not try to start a thread while debugging. I normally put #ExcludeFromDebugger: true in all code modules I currently don't want to debug and that works quite well. Even when the App uses threads in some places.
In rapid debugger it seems that threads don't start at all so the threads are never executed.

This is not a bug report or complaint (I know, that threading library is not really supported by both debuggers). I just want to understand a bit how it works and how I can use it. I think the rapid debugger is really a great thing but unfortunately it is useless for me because I need threads in some situations of my app.

About the threads: The last main problem for me is XML file parsing which is not possible to do asynchonously with the XMLSax Parser. I still use background threads for database access in my app but this may be changed to asynchronous queries. Though this would be a major redesign of the database module since I use several queries in one thread and the asynchronous database function would make things a bit more complicated.
 
Upvote 0

Erel

Administrator
Staff member
Licensed User
You are correct (in the rapid debugger the the "b4a code" is not running on the device it runs on the desktop).

You can compile your threading + xml code into a library and then use it with the rapid debugger. #ExcludeFromDebugger currently doesn't affect the rapid debugger.

BTW, how large are the XML files? Sax parser should be quite quick.
 
Upvote 0

corwin42

Expert
Licensed User
BTW, how large are the XML files? Sax parser should be quite quick.

They are about 30kb. On very slow phones it takes up to 5 seconds or more to parse them.
 
Upvote 0

stefanoa

Active Member
Licensed User
With Debug (rapid) i have this error:

Error occurred on line: 145 (clschecklist)

synccontactslistafterFirstLayout (java line: 98)
java.lang.ClassCastException: java.lang.String
at anywheresoftware.b4a.objects.drawable.CanvasWrapper$BitmapWrapper.getWidth(CanvasWrapper.java:600)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:485)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:229)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:174)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:93)
at bloomob.mylifebookTrial.synccontactslist.afterFirstLayout(synccontactslist.java:98)
at bloomob.mylifebookTrial.synccontactslist.access$100(synccontactslist.java:16)
at bloomob.mylifebookTrial.synccontactslist$WaitForLayout.run(synccontactslist.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:130)
at android.app.ActivityThread.main(ActivityThread.java:3717)
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:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)

thanks
 
Upvote 0

yttrium

Active Member
Licensed User
Spinner.DropdownTextColor property will be included in v3.00...
Oh awesome. I didn't actually try 3.00 yet, I just didn't see it listed in the OP.
 
Upvote 0
Top