A questo punto avrete aggiunto una nuova B4XPage al progetto. In realtà è un file di testo ed è una
classe, non un oggetto utilizzabile.
Per poterla usare, a runtime, diciamo, dovrete creare un oggetto da quella classe, ovvero dichiarare una variabile di quel tipo. Normalmente lo farete nella B4XMainPage, anche se non è affatto obbligatorio. Meglio dichiararla come pubblica, in modo che la possiate richiamare da varie parti del progetto.
Ad esempio, nella B4XMainPage:
(fatevi gli affari vostri, circa le altre 3 pagine ?, servivano come esempio)
Ok, ma la variabile-oggetto PageProdotti ancora non è stata inizializzata. Molti lo fanno nella B4XPage_Create, in quanto questa viene eseguita una sola volta. Secondo me, per logica, per "correttezza", sarebbe meglio farlo nella Sub Initialize, il cui scopo è proprio quello di consentire l'inizializzazione delle variabili della classe.
Per poter utilizzare comodamente quella "pagina-oggetto", va aggiunta all'elenco delle pagine esistenti. Questo va fatto nella B4XPage_Create:
B4XPages.AddPage("pgProdotti", PageProdotti)
"pgProdotti" sarà la chiave, l'id testo per poterla utilizzare in alcune situazioni, anche se, avendo dichiarato la variabile-oggetto PageProdotti come pubblica nella B4XMainPage, si potrà accedere ad essa direttamente:
B4XPages.GetManager.MainPage.PageProdotti.Fill
La lunghezza della riga qui sopra è dovuta al fatto che per accedere alla PageProdotti dovrete poter accedere a MainPage e quello è il modo.
Si potrebbe fare in altro modo (creare una classe di utilità del progetto...) in modo da poter scrivere una riga più breve per accedere a B4XMainPage, ma direi che non sia il caso di spiegare qui come farlo, per non allungare il brodo, già fin troppo annacquato ?).