Salve di nuovo.
Mi sto incartando sulle basi.
Con VB6 creavo varie form, ad esempio frmMain per il programma principale, frmSetup per la schermata con il setup, e da codice con un semplice frmMain.show o frmSetup.show portavo in primo piano l'una o l'altra schermata.
Ora in B4A, ho un modulo di partenza Main che richiama il layout frmMain(.bal) con Activity.LoadLayout("frmMain"), che finchè rimane nel suo orticello funziona.
Poi ho creato un secondo modulo ScreenTest che dovrebbe lavorare sul layout frmScreenTest(.bal) sul quale volevo provare le funzioni di disegno prendendo a modello un semplice esempio d'uso di Panel e Canvas.
In frmMain c'è un Button premendo sul cui click lancio il comando StartActivity(ScreenTest), e nel modulo ScreenTest sezione Activity_Create c'è il caricamento della "form" con Activity.LoadLayout("frmScreenTest")
Fin qui vedo sul tablet che la seconda schermata appare.
Avendo dichiarato in Globals di questa seconda schermata picCanvas As Canvas e Schermo As Panel, tento di inizializzare il Canvas sul quale voglio disegnare con picCanvas.Initialize(Schermo) ma a quel punto l'applicazione esplode con l'errore "java.lang.RuntimeException: Object should first be initialized (Panel)."
Non capisco cosa voglia
Nell'esempio che avevo scaricato da un thread qui sul forum non vedo nessuna "inizializzazione del panel":
Sub Globals
Dim picCanvas As Canvas
Dim ImageView1 As ImageView
Dim Panel1 As Panel
Dim Button1 As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Main")
picCanvas.Initialize(Panel1)
End Sub
Sub Panel1_Touch(Action As Int, X As Float, Y As Float)
picCanvas.DrawCircle(X, Y, 10dip, Colors.Red, True, 1dip)
Activity.Invalidate
End Sub
Mi sto incartando sulle basi.
Con VB6 creavo varie form, ad esempio frmMain per il programma principale, frmSetup per la schermata con il setup, e da codice con un semplice frmMain.show o frmSetup.show portavo in primo piano l'una o l'altra schermata.
Ora in B4A, ho un modulo di partenza Main che richiama il layout frmMain(.bal) con Activity.LoadLayout("frmMain"), che finchè rimane nel suo orticello funziona.
Poi ho creato un secondo modulo ScreenTest che dovrebbe lavorare sul layout frmScreenTest(.bal) sul quale volevo provare le funzioni di disegno prendendo a modello un semplice esempio d'uso di Panel e Canvas.
In frmMain c'è un Button premendo sul cui click lancio il comando StartActivity(ScreenTest), e nel modulo ScreenTest sezione Activity_Create c'è il caricamento della "form" con Activity.LoadLayout("frmScreenTest")
Fin qui vedo sul tablet che la seconda schermata appare.
Avendo dichiarato in Globals di questa seconda schermata picCanvas As Canvas e Schermo As Panel, tento di inizializzare il Canvas sul quale voglio disegnare con picCanvas.Initialize(Schermo) ma a quel punto l'applicazione esplode con l'errore "java.lang.RuntimeException: Object should first be initialized (Panel)."
Non capisco cosa voglia

Nell'esempio che avevo scaricato da un thread qui sul forum non vedo nessuna "inizializzazione del panel":
Sub Globals
Dim picCanvas As Canvas
Dim ImageView1 As ImageView
Dim Panel1 As Panel
Dim Button1 As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Main")
picCanvas.Initialize(Panel1)
End Sub
Sub Panel1_Touch(Action As Int, X As Float, Y As Float)
picCanvas.DrawCircle(X, Y, 10dip, Colors.Red, True, 1dip)
Activity.Invalidate
End Sub