Italian B4XPages - (scarso) Tutorial in italiano

Fulvio75

Well-Known Member
Licensed User
Il punto è che non esiste un B4XPage_KeyPress.
Erel ha fatto in modo che la pressione del tasto Back faccia scattare l'evento B4XPage_CloseRequest, ma tutti gli altri tasti premuti?
Ecco perché poco fa ho scritto quel "Wish" (vedi mio post precedente).
Ok... Mi sa che faccio un passo indietro anche questa volta e torno alle Activity anche per questa app
 

LucaMs

Expert
Licensed User
Longtime User
Per me sono troppo incasinate 😊
bianca.gif
 

Fulvio75

Well-Known Member
Licensed User
Il punto è che non esiste un B4XPage_KeyPress.
Come no si che esiste è in Main

B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean
    
    Select KeyCode
        
        Case KeyCodes.KEYCODE_BACK
            
            If ELM327.Connecting = True Then
                
                CallSub2(B4XPages.MainPage,"Waiting_Show","Annullamento connessione...")

                'annullo la connessione
                ELM327.CancelConnecting = True
                
            End If
            
    End Select
    
    Return True
    
    'Return B4XPages.Delegate.Activity_KeyPress(KeyCode)
    
End Sub

commenti 'Return B4XPages.Delegate.Activity_KeyPress(KeyCode)

e non manda l'app in background

Vedi che sono un casino 🤣 🤣

Rifaccio il poco che ho fatto con le vecchie e funzionanti Activity
 

Sabotto

Active Member
Licensed User
e invece, per me, le activity sono più rognose, già solo per il fatto del ciclo di vita, FirstTime, ecc.
Ma capisco che ci sei abituato. Vedo invece le B4XPages piu simili ai form di VB6 e VB.NET
 

LucaMs

Expert
Licensed User
Longtime User
Vedi che sono un casino 🤣 🤣
Vedo che non leggi:
https://www.b4x.com/android/forum/threads/b4xpages-scarso-tutorial-in-italiano.157003/post-966956

Se devi intercettare soltanto il tasto Back, devi invece lasciare quella riga che hai commentato ed usare l'evento B4XPage_CloseRequest.
Quando premi quel tasto, normalmente si chiude la pagina attiva (e prima di questo scatta quell'evento) e si torna a quella eventualmente aperta precedentemente oppure l'app va in pausa se quest'ultima non esiste (nel senso che quella attuale è la prima nella lista, ovvero quasi sempre la B4XMainPage).

Quindi, nel tuo caso, semplicemente:
B4X:
Private Sub B4XPage_CloseRequest As ResumableSub
    If Main.ELM327.Connecting = True Then
       
        'CallSub2(B4XPages.MainPage,"Waiting_Show","Annullamento connessione...")
        'Qui una xui.MsgboxAsync

        'annullo la connessione
        Main.ELM327.CancelConnecting = True
       
        ' Return False o True, a seconda se vuoi annullare la chiusura della pagina o no.
    End If
End Sub

[Nota: io non so se sia corretto/utile che quel ELM327 sia stato dichiarato nell'Activity Main anziché nella B4XMainPage. Normalmente è meglio non toccare proprio la Main, non aggiungerci (e tantomeno modificare) niente alcunché. Ovviamente sempre parlando di progetti B4XPages]
 
Last edited:

Fulvio75

Well-Known Member
Licensed User
Vedo che non leggi:
https://www.b4x.com/android/forum/threads/b4xpages-scarso-tutorial-in-italiano.157003/post-966956

Se devi intercettare soltanto il tasto Back, devi invece lasciare quella riga che hai commentato ed usare l'evento B4XPage_CloseRequest.
Quando premi quel tasto, normalmente si chiude la pagina attiva (e prima di questo scatta quell'evento) e si torna a quella eventualmente aperta precedentemente oppure l'app va in pausa se quest'ultima non esiste (nel senso che quella attuale è la prima nella lista, ovvero quasi sempre la B4XMainPage).

Quindi, nel tuo caso, semplicemente:
B4X:
Private Sub B4XPage_CloseRequest As ResumableSub
    If Main.ELM327.Connecting = True Then
      
        'CallSub2(B4XPages.MainPage,"Waiting_Show","Annullamento connessione...")
        'Qui una xui.MsgboxAsync

        'annullo la connessione
        Main.ELM327.CancelConnecting = True
      
        ' Return False o True, a seconda se vuoi annullare la chiusura della pagina o no.
    End If
End Sub

[Nota: io non so se sia corretto/utile che quel ELM327 sia stato dichiarato nell'Activity Main anziché nella B4XMainPage. Normalmente è meglio non toccare proprio la Main, non aggiungerci (e tantomeno modificare) niente alcunché. Ovviamente sempre parlando di progetti B4XPages]
A ok... Per il momento e per semplicità sto procedendo anche con questa app con le Activity poi finita provo a farla uguale con le Pages e vedo quanto ci metto (un casino di tempo) e se ci capisco qualche cosa (mi sa che non ci capirò nulla) e se sarò in grado di convertirla (ne dubito) 😃😃
 

LucaMs

Expert
Licensed User
Longtime User
A ok... Per il momento e per semplicità sto procedendo anche con questa app con le Activity poi finita provo a farla uguale con le Pages e vedo quanto ci metto (un casino di tempo) e se ci capisco qualche cosa (mi sa che non ci capirò nulla) e se sarò in grado di convertirla (ne dubito) 😃😃
A meno che l'app non sia "piccola", non vale la pena trasformarla in B4XPages. Vale la pena, invece, farla subito così, dall'inizio.
 

Fulvio75

Well-Known Member
Licensed User
La mia preoccupazione è per il futuro, spariranno le Activity?
Se si sarà un problema a rifare tutte le app in Pages
 

LucaMs

Expert
Licensed User
Longtime User
Meno male dormo tranquillo😃
Allora ciao B4xpages non mi ci metto nemmeno a fare prove varie, continuo alla vecchia maniera
Ringrazia il cielo che stai a Milano, altrimenti... :mad:🤬😄
Sei più "de coccio" di un altro, che qui non nomino, glielo dico (ripeto) in privato, anche se lui è cocciuto in generale, non disprezza i vantaggi delle B4XPages!


Oh, ma a me mica viene in tasca un cent se le usate, eh! Se non lo fate, peggio per voi, tutto qua!
 
Top