You can create a simple Sub that will act as the type constructor:
B4X:
Sub Create(Message As String, Sound As Int) As AlertDefn
Dim A As AlertDefn
A.Initialize
A.Message = Message
A.Sound = Sound
Return A
End Sub
Alerts = Array As AlertDefn(Create("Sunday", 1), Create("Monday", 2))
For more complex structures this is little more work than B4PPC but yes, it works fine, I thought I might be missing a trick somewhere. What about the Opening of SQL Databases with Passwords?