Italian errore che non trovo da nessuna parte --> "tipo sconosciuto:b4xmainimpage"

tmtube73

Active Member
Licensed User
quando eseguo il debug nella finestra di logs mi esce: Tipo sconosciuto: b4xmainpage<br />Manca un riferimento ad una libreria?

nella finestra del compilatore poi aggiunge questi dettagli


B4A Versione: 11.50
Analisi del Codice. Error
Errore Analisi Programma.
Descrizione errore: Tipo sconosciuto: b4xmainpage
Manca un riferimento ad una libreria?
Errore nella linea: 73 (B4XPages)
Public Sub MainPage As B4XMainPage

sono andato alla riga 73 ma non trovo nessun errore qualche idea?
 

tmtube73

Active Member
Licensed User
sono riuscito a capire che va scritto tutto nella pagina b4xmainpage e sta per funzionare, ho solo ancora un errore nel codice che usavo prima per caricare i vari layout

questo codice che usavo prima adesso all'interno del modulo b4xmainpage

B4X:
Private Sub ApriImpostazioni
    Activity.RemoveAllViews
    Activity.LoadLayout("impostazioni")
    BackGroundImage.Bitmap=LoadBitmap(File.DirAssets, "sfondo.jpg")
End Sub

restituisce l'errore indicato sotto

B4XMainPage - 1168: Variabile 'activity' non dichiarata, utilizzata prima che gli sia stato assegnato un valore.

suppongo che in queste pagine bx4mainpage si debba richiamare in modo diverso una nuova activity? sapete aiutarmi?

grazie.
 

LucaMs

Expert
Licensed User
Longtime User
sapete aiutarmi?
@Star-Dust ti risponderebbe un secco: "Sì" e basta, hehehe (scherzando, zuzzurellone ?).


Considera questo: in un progetto B4XPages ogni pagina è una classe che ha un proprio Panel denominato Root; è in questo che devi mostrare, e quindi caricare, qualunque View del tuo progetto (quindi eseguire il LoadLayout).

E' un po' come se avessi N Panel sovrapposti, solo che in realtà sono N B4XPages (classi), che sono classi ed hanno il proprio Panel Root.
 

tmtube73

Active Member
Licensed User
questo codice

B4X:
Root.LoadLayout("nomelayout")

sostituisce forse questo?

B4X:
Activity.RemoveAllViews
Activity.LoadLayout("nomelayout")
 

tmtube73

Active Member
Licensed User
@Star-Dust ti risponderebbe un secco: "Sì" e basta, hehehe (scherzando, zuzzurellone ?).


Considera questo: in un progetto B4XPages ogni pagina è una classe che ha un proprio Panel denominato Root; è in questo che devi mostrare, e quindi caricare, qualunque View del tuo progetto (quindi eseguire il LoadLayout).

E' un po' come se avessi N Panel sovrapposti, solo che in realtà sono N B4XPages (classi), che sono classi ed hanno il proprio Panel Root.
lo so lo so :D
 

LucaMs

Expert
Licensed User
Longtime User
sono riuscito a capire che va scritto tutto nella pagina b4xmainpage
Non è proprio così, eh!

Diciamo che la maggior parte del codice va scritto nella B4XMainPage, ma puoi creare quante pagine vuoi.

Un esempio piuttosto classico potrebbe essere:
avere nella B4XMainPage una CustomListView che mostri un elenco di clienti (o fornitori). Fai click su uno di essi e in una seconda B4XPage mostri i dettegli relativi a quel cliente/fornitore.
 

tmtube73

Active Member
Licensed User
sembrava tutto ok, avvio il debug e ricevo questo risultato, what????

B4A Versione: 11.50
Analisi del Codice. (0.05s)
Java Versione: 11
Building folders structure. (0.01s)
Esecuzione azione personalizzata. Error
-------------------------------------------------------------------------------
ROBOCOPY :: Copia di file efficace per Windows
-------------------------------------------------------------------------------
Avviato: venerd 17 giugno 2022 02:06:26
Origine : C:\miacartella\CASSON~1\Shared Files\
Destinazione : C:\miacartella\CASSON~1\SERVIZ~2\Files\
File: *.*

Opzioni: *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30
-------------------------------------------------------------------------------
2022/06/17 02:06:26 ERRORE 2 (0x00000002) Accesso alla directory di origine in corso C:\miacartella\CASSON~1\Shared Files\
Impossibile trovare il file specificato.
 

LucaMs

Expert
Licensed User
Longtime User
Quando devi salvare un progetto di "tipo" B4XPages, non farlo tramite menu, fai CTRL+Click sulla riga-commento:

'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip

che sta nella B4XMainPage (class).

Cambia nome a Project.zip.

In pratica, ogni progetto B4XPages, su disco ha questa struttura:

Cartella Principale
Progetto B4A​
Progetto B4J​
Progetto B4I​
Cartella Shared Folders (in cui mettere tutti i file "aggiuntivi", immagini, audio, etc)​
Vari file .bas che sono comuni a tutti e tre i "tipi" di progetto.​
Probabilmente prima o poi aprirò un thread in italiano dedicato alle B4XPages e/o un video... magari se mi "sovvenzionerete" ?
 

tmtube73

Active Member
Licensed User
confermo avevo fatto casini con la struttura, ho preso la cartella b4a pensando di poterla mettere dove volevo.
sei un mago grazie.
 

tmtube73

Active Member
Licensed User
la app è partita ma non funziona più questa parte GPS

B4X:
Sub GPS_LocationChanged (Location1 As Location)
    CallSub2(Main, "LocationChanged", Location1)
End Sub

centra il main?
 
Top