Other B4A v13.3 is available for download

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release a new version of B4A. This update adds a new #Macro attribute, for the declaration of IDEs macros, as well as other new features and improvements:

1748432922420-png.164397


  • #Macro attribute. Defined in B4XMainPage or Main modules. Format: <type>, <name>, <link>. Type can be Title or After Save. More to come in the future. Link is based on the comment link feature: https://www.b4x.com/android/forum/threads/119897/#content
    Examples:
    B4X:
    #Macro: Title, B4XOrderedMap Doc, https://www.b4x.com/android/forum/threads/b4x-b4xorderedmap-get-first-item-nth-item-and-last-item.118642/
    #Macro: Title, B4XPages Export, ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
    'open Objects folder after saving project:
    #Macro: After Save, open objects folder, ide://run?File=%WINDIR%\explorer.exe&Args=%PROJECT%\Objects

  • New command line options for the IDE:
    -INI=<ini file path> - allows running the IDE with an alternative INI file. Note that that standard INI file is stored under: C:\Users\<user name>\AppData\Roaming\Anywhere Software\b4xV5.ini
    -INI_<property key here>=<property value>
    Example:
    B4X:
    "c:\Program files\Anywhere Software\b4a\b4a.exe" -INI_CodeTheme=Dark "-INI_TitleNotEmpty=This is the second IDE: $FILE_NAME$"
  • New TitleEmpty and TitleNotEmpty INI keys. Can be used to customize the main window title. Support three replacement variables: $PRODUCT$ - B4A/B4J..., $FILE_NAME$ - project name, $FILE_PATH$ - project path.
  • New internal keywords: Initialized and NotInitialized:
    B4X:
    If Map1 <> Null And Map1.IsInitialized Then ... 'boring
    If Initialized(Map1) Then ... 'less boring
  • B4XCollections: new helper methods: EmptyList, EmptyMap, MergeMaps, MergeLists, CreateList, CopyOnWriteMap and CopyOnWriteList.
  • Updated internal libraries: XUI Views v2.66, B4XCollections v1.15, Core v13.2.
  • Other bug fixes and minor improvements.

Download link: Note that the installer is signed with a new signing key and might show a security warning.
 

teddybear

Well-Known Member
Licensed User
  • New command line options for the IDE:
    -INI=<ini file path> - allows running the IDE with an alternative INI file. Note that that standard INI file is stored under: C:\Users\<user name>\AppData\Roaming\Anywhere Software\b4xV5.ini
    -INI_<property key here>=<property value>
    Example:
    B4X:
    "c:\Program files\Anywhere Software\b4a\b4a.exe" -INI_CodeTheme=Dark "-INI_TitleNotEmpty=This is the second IDE: $FILE_NAME$"
This means we can have multiple versions of the IDE on one computer without manually switching b4xV5.ini ?
 
Upvote 0

Duque

Active Member
Licensed User
Longtime User
Erel, you're a genius! 😃
Your services have been a game-changer in my life.
Since discovering them, everything has improved tremendously.
The journey hasn’t been easy, but today I can proudly say that I’m making it, thanks to your incredible tools.

And because true gratitude goes beyond words, I did the right thing—I bought you a coffee! ☕ I’ve already made my donation. Check the contributions, and you’ll find my sincere appreciation with the code B4X250609-2591-40110.

I know this might not be the right thread, but don’t overlook my suggestions—they could be pure gold! Here they are: 🔗
Suscripciones
 
Upvote 0

Serge Bertet

Active Member
Licensed User
Longtime User
you use last version of SDK?
I just tried to install v13.30 directly from v13.00 it was impossible.
After installing first v13.10 I am now able to install the latest v13.30, it's disturbing when you don't know.
 
Upvote 0

teddybear

Well-Known Member
Licensed User
20250614215905.png


Click More info and then run anyway
 
Last edited:
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
I am on Windows 10 22H2 and received this when attempting to run the installer
This is expected
Note that the installer is signed with a new signing key and might show a security warning.

click on MORE INFO and use the method to run it from there
 
Upvote 0

netsistemas

Active Member
Licensed User
Longtime User
The purpose of Initialized is to replace these two conditions into one. Is there a link explaining how to use it?
Sample ( 2 if comment. 1 if added -> ok?)

B4X:
If Initialized(ControlActivo) Then
    'If ControlActivo.IsInitialized Then
    '    If ControlActivo <> Null Then
            modB4A.FocoTotaXUI(ControlActivo)
            If modB4A.v_CBarras <> "" Then
                ControlActivo.Text = modB4A.v_CBarras
                modB4A.v_CBarras  = ""
            End If
    '    End If
    'End If
end if
 
Upvote 0
Top