Other B4A v7.00 BETA is available for download

Status
Not open for further replies.

Erel

B4X founder
Staff member
Licensed User
I'm happy to release B4A v7.00 BETA. This update includes the new resumable subs feature. This is the most important programing language improvement since the addition of classes in B4A v2.
It makes it much simpler to manage asynchronous tasks.

Improvements:
  • Resumable subs - Wait For / Sleep: https://www.b4x.com/android/forum/threads/resumable-subs-sleep-wait-for.78601/#post-498072
    [B4X] SQL with Wait For
    [B4X] OkHttpUtils2 with Wait For
  • Async dialogs: https://www.b4x.com/android/forum/threads/doevents-deprecated-and-async-dialogs-msgbox.79578/
  • Variables and subs renaming based on the Find All References feature:

    rename-gif.53634


  • Quick search supports replacing including replacing in all modules.
  • Icon picker - Filter field supports filtering by hex code.
  • Starter service better handles cases where the process is started by multiple intents.
  • CSBuilder.Image adds an underscore instead of space to fix an issue with multiline strings.
  • Application_Error - Fixed a compatibility issue with Android 2.2.
  • PhoneCalls - READ_CALL_LOG permission added. This is a new requirement.
  • Sender is set when raising events with CallSub or CallSubDelayed from classes.
  • DoEvents is deprecated. A warning will appear when using it (see the async dialogs tutorial). Note that it is still supported, exactly as before.
  • SQL library updated to make it simpler to use with Wait For.

Notes:
- B4A compiled libraries with service modules need to be recompiled.
- Java 8 is required (Tools - Configure Paths).

Developers who are eligible for a free upgrade will receive an email with upgrade instructions.
Please post issues in new threads.
 
Last edited:

tuhatinhvn

Active Member
Licensed User
Thank for your work!
Android now is better with material design
Almost apps on Google Play now are using material design with many View (RecycleView,Drawer,FAB,Fragment,....) so i think B4A should have new version with CORE material (as Android Studio now)
Thank you very much!
 
Upvote 0

demasi

Active Member
Licensed User
Where can I download this beta #3? I received the email for version 7 beta, but not for betas#2, #3...
thanks
 
Upvote 0

panagiotisden2

Active Member
Licensed User
Dim list1 As List
list1.Initialize
list1.Add("Αυτοκίνητο")
list1.Add("Μηχανή")
list1.Add("Φορτηγό")
list1.Add("Λεωφορείο")
list1.Add("ΠΕΙ φορτηγό")
list1.Add("ΠΕΙ Λεωφορείο")

Dim result As Int

result=InputList(list1,"Επιλέξτε μια κατηγορία",-1)
If result=-3 Then Return
Starter.questionnumber=""
Starter.redrawstopper=0
isfreetest=True
CallSubDelayed2(Starter,"begintest","type=simulation&section="&(result+1)&"&category=0&num_of_questions=10&action=start")
ProgressDialogShow2("Παρακαλώ περιμένετε",False)
this is my "old" inputlist and was working fine

this doesn't (it wont go past the wait for)

Dim list1 As List
list1.Initialize
list1.Add("Αυτοκίνητο")
list1.Add("Μηχανή")
list1.Add("Φορτηγό")
list1.Add("Λεωφορείο")
list1.Add("ΠΕΙ φορτηγό")
list1.Add("ΠΕΙ Λεωφορείο")



InputListAsync(list1,"Επιλέξτε μια κατηγορία",-1,True)
wait for InputListAsync_Result (result As Int)
If result=-3 Then Return
Starter.questionnumber=""
Starter.redrawstopper=0
isfreetest=True
CallSubDelayed2(Starter,"begintest","type=simulation&section="&(result+1)&"&category=0&num_of_questions=10&action=start")
ProgressDialogShow2("Παρακαλώ περιμένετε",False)

interesting part is it worked the first time and then it stopped once and forever (even with recompile and reinstall app)
am i doing something wrong or is this a bug?
 
Upvote 0

johndb

Active Member
Licensed User
Beta #3 appears to be working great. I've tested lots of my apps and I've even converted a few of them to work with resumable subs (Wait For and Sleep). If there's any bugs in Beta #3, I can't seem to find them :cool:
I too have converted many of my applications to beta #3 using resumable subs containing many "Wait for" calls in the same code block without incident. This version sure does clean up the code without jumping from sub to sub to sub to ... to handle asynchronous processing in a very clean manner. This and the previous "multi-dex" features in my opinion are game changers for B4X. Thank you @Erel!
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
This and the previous "multi-dex" features in my opinion are game changers for B4X.
Thank you. I agree. The resumable subs feature changes the way we program.

Ever since B4A was released, it was clear to me that one of the main challenges developers need to tackle is handling of asynchronous tasks. I tried various solutions such as closures and "state machine" objects but they didn't integrate well with B4X concepts.
The resumable subs feature solves most of the asynchronous programming challenges and also fits very naturally in B4X language.
 
Upvote 0

rbghongade

Active Member
Licensed User
Dear Erel,
This new feature of resumable subs and an elegant way of handling asynchronous tasks is indeed remarkable. If I understand this feature properly ( I may be wrong) then it would be possible to implement concurrency like the hardware description languages like Verilog, VHDL, where a concept called simulation delta is used to impart synchronous behaviour. If so, then there is a fantastic possibility of having B4HDL!!!
 
Upvote 0

MarcoRome

Expert
Licensed User
I have recompiled with the version 7 # Beta3 several programs (even of a certain complexity) and i have tried the same without any problem. Great work Erel
 
Upvote 0
Status
Not open for further replies.
Top