Other B4A v6.30 has been released!

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release B4A v6.30.

SS-2016-09-21_15.37.05.png



There are many IDE related improvements in this update.
  • The docking and layout features are based on a new and improved framework. Floating code editors behave as regular windows.
  • Documentation tool tips while hovering over code elements:

    tooltips.gif


  • Copy links in the tool tips that allow copying code examples.
  • Support for bookmarks:

    SS-2016-08-03_10.04.28.png


  • New themes.
  • URLs in comments and strings are ctrl-clickable.
  • Class and module level documentation (taken from Process_Globals or Class_Globals subs).
  • Quick search shows a list of recent searches.
  • Designer uses the multiline text editor for text properties.
  • Unused libraries warning.
  • Debugger related improvements.
  • Custom views support "nullable colors". The default value of such fields looks like:

    SS-2016-09-18_16.24.57.png


    This is an important feature as in many cases it is better not to set any color and use the system default.
  • Rect.Width and Height properties.
  • Service_TaskRemoved event added to the Starter service. This event is raised when the user closes the app from the recent apps list. This is an Android 4+ event.
  • FloatLabeledEditText - Text and hint colors can be set in the designer.
  • Regex.Replace / Replace2 - Regular expression replacement.
  • (Java) The Tag property is set when calling CustomView.replaceBaseWithView2 (replaceBaseWithView is deprecated).
  • _onkeydown and _onkeyup inline Java hooks.
  • Other bug fixes and minor improvements.
Note that the debug key has been replaced. If you are using B4A-Bridge then you will need to uninstall the existing developed app before deploying the new one (required once).

Users who are eligible for a free upgrade will receive an email with installation instructions.
Other users will receive an email with a discount offer.
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Good work Erel, and very fast work after the beta

Congratulations
 
Upvote 0

billyrudi

Active Member
Licensed User
Longtime User
Hi, i think that there are problems while looping over a cursor with sqllite.... it is slow slow slow.
someone has encountered the same problem?
today 5 seconds
yesterday before new version less then 1 second
regards Paolo
B4X:
Dim Cursor1 As Cursor
    Dim ssell As String
    If lstelencoGiri.IsInitialized = False Then
        Return
    End If
    lstelencoGiri.Clear1
 
    ssell = "Select min(Esito) Esito, CodiceDestinatario,max(RagioneSociale) RagioneSociale , max(Indirizzo) Via,max(Citta) Citta, max(IDTransazione) IDTransazione  from Viaggi  where IDFoglioDiViaggio = '" & Operazioni.idfoglioviaggio & "' and Filiale = '" & Operazioni.siglaFiliale & "' group by CodiceDestinatario  Order by Ordinamento Asc"
    Cursor1 = Operazioni.SQL1.ExecQuery( ssell)
    Dim ik As Int
    ik = 0
    Dim bpassato As Boolean
    Dim bgiallo As Boolean
    bpassato = False
    Dim colore As Int
    Dim ultimob As Int
    Operazioni.girifatti = 0
    Operazioni.giritotale = Cursor1.RowCount
    For i = 0 To Cursor1.RowCount - 1
        Cursor1.Position = i
        'individuazione tipo colore
     
        If Cursor1.GetString("Esito") = "S" Or  Cursor1.GetString("Esito") = "X" Then     
            colore = Colors.RGB(6,129,35)
            bpassato = True
            bgiallo = True
            ik = i
            Operazioni.girifatti = Operazioni.girifatti +1
        Else
            If Cursor1.GetString("Esito") = Null Then 
                colore  = Colors.White
                If  bpassato = False Then
                    bpassato = True
                    ik = i
                End If
                ultimob = i
            Else
               If Cursor1.GetString("Esito") = "I" Then
                    colore = Colors.Yellow
                    bpassato = True
                    bgiallo = True
                    ik = i
                Else
                    colore = Colors.Red
                    bpassato = True
                    bgiallo = True
                    ik = i
                End If
'                ssell = "Select Esito from Viaggi  where Esito in  ('D', 'E' )   and IDFoglioDiViaggio = '" & Operazioni.idfoglioviaggio & "' and Filiale = '" & Operazioni.siglaFiliale & "' and CodiceDestinatario = '" &  Cursor1.GetInt("CodiceDestinatario") & "' "
'                Cursorc = Operazioni.SQL1.ExecQuery(ssell)
'                If Cursorc.RowCount > 0 Then
'                 
'                End If
             
             End If
        End If
     
     
'     
'        If Cursor1.GetString("Esito") = Null Then 
'      
'        Else If Cursor1.GetString("Esito") = "I" Then
'     
'        Else
'            colore =  Colors.Red
'            Operazioni.girifatti = Operazioni.girifatti +1
'        End If
     
        Dim sfondo As Int
        If i Mod 2 = 0 Then
            sfondo = Colors.Black
        Else
         sfondo =    Colors.DarkGray
        End If
        Dim indices As String
        indices = i + 1
        Dim ordinamento As Int
     
        ordinamento = Cursor1.GetInt("CodiceDestinatario")
        Dim ssel, scons, srit As String
        ssel = "Select count(RagioneSociale) tot from Viaggi where TipoServizio = 'C'  and  IDFoglioDiViaggio = '" & Operazioni.idfoglioviaggio & "' and Filiale = '" & Operazioni.siglaFiliale & "' and CodiceDestinatario = '" & Cursor1.GetString("CodiceDestinatario") & "' group by CodiceDestinatario"
        Dim ct As Cursor
        ct  = Operazioni.SQL1.ExecQuery(ssel)
        If ct.RowCount > 0 Then
            ct.Position = 0
            scons = " - N. Cons.: "& ct.GetInt ("tot")
        Else
            scons = " N. Cons.: 0"
        End If
        ct.close
        ssel = "Select count(RagioneSociale) tot from Viaggi where TipoServizio = 'R' and  IDFoglioDiViaggio = '" & Operazioni.idfoglioviaggio & "' and Filiale = '" & Operazioni.siglaFiliale & "' and CodiceDestinatario = '" & Cursor1.GetString("CodiceDestinatario") & "' group by CodiceDestinatario"
     
        ct  = Operazioni.SQL1.ExecQuery(ssel)
        If ct.RowCount > 0 Then
            ct.Position = 0
            srit = " - N. Rit.: "& ct.GetInt ("tot")
        Else
            srit = " - N. Rit.: 0"
        End If
        ct.Close
        lstelencoGiri.Add(CreateListaItem(indices & ") " &  Cursor1.GetString("RagioneSociale")  & CRLF & Cursor1.GetString("Via") & " " & Cursor1.GetString("Citta") & scons & srit, lstelencoGiri.AsView.Width,   35dip,colore,sfondo, Cursor1.GetString("IDTransazione")), 60dip , ordinamento)  
    Next
    Cursor1.Close
 
Upvote 0

RafaelC

Member
Licensed User
Maybe this is just a silly question: I had installed B4A version 6.0 and everything worked fine. I just downloaded 6.30 and now all my example projects show the following error:
upload_2016-10-3_20-15-42.png

I downloaded 6.3 and installed on top of 6.0. Is that Ok? If so, what am I missing?
Thanks

Rafael
 
Upvote 0

RafaelC

Member
Licensed User
Further to my previous question, can you explain the meaning of “Note that the debug key has been replaced”. I have uninstalled the previous app (developed with V6.0) form my phone but that has not solved the problem.
 
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
Maybe this is just a silly question: I had installed B4A version 6.0 and everything worked fine. I just downloaded 6.30 and now all my example projects show the following error:
View attachment 48551
I downloaded 6.3 and installed on top of 6.0. Is that Ok? If so, what am I missing?
Thanks

Rafael
Tool --> Clean Project ??
 
Upvote 0

RafaelC

Member
Licensed User
Marco: No. It didn't work. Thks anyway
Erel: Tried to unload app, unload b4a_bridge 2.14 and substitute if with 2.13 (which, by the way, showa "2.12" on the screen). None of these worked. As I see others have had the same problem, I am starting a new thread
 
Upvote 0

techknight

Well-Known Member
Licensed User
Longtime User
The only nitpick thing I have to say, is it reset ALL of my GUI settings and I did not like that one bit. kinda my petpeeve. dont mess with my settings please!!

Other than that, it works perfectly fine as normal.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
The only nitpick thing I have to say, is it reset ALL of my GUI settings and I did not like that one bit. kinda my petpeeve. dont mess with my settings please!!
As the new version is based on a different layout framework it was not possible to preserve the layout settings. I completely agree with the importance of respecting the developers customizations.
 
Upvote 0

techknight

Well-Known Member
Licensed User
Longtime User
Why the framework change? Did the old one have bugs that weren't fixed, or became unsupported? Just curious.
 
Upvote 0

JohnC

Expert
Licensed User
Longtime User
Upvote 0

BobsYourUncle

Member
Licensed User
Longtime User
Is it possible to install B4A versions side by side? So have both B4A 5 and B4A 6 installed on the same PC? (So I can test migrate my Apps from B4a 5 to 6 to ensure no problems introduced). Thanks!
 
Upvote 0
Top