Italian Problema MsgboxAsync

GaNdAlF89

Active Member
Licensed User
Longtime User
Ciao a tutti! Mi ritrovo ad aggiornare un vecchio progetto, ed avendo sostituito i vecchi Msgbox con i nuovi MsgboxAsync, ho un comportamento strano: dopo aver invocato quest'ultimo, sul display mi compare il messaggio però l'esecuzione continua a prescindere. Credo di aver sbagliato la gestione della sincronia. Ecco la parte di codice in questione:

B4X:
Sub Activity_Create (FirstTime As Boolean)

    Set_App 'richiamo questa funzione, di cui sotto

    Set_Layout

    'altro codice
End Sub

Sub Set_App

If File.Exists("percorso","abc.de") = False Then 'Primo avvio
        
    Dim ro As Object = Msgbox2Async("File di avvio non trovato." & CRLF & "Utilizzare il fle di default?","File mancante","SÌ","","NO",Null,False)
    Wait For (ro) Msgbox_Result (res As Int)
    If res = DialogResponse.POSITIVE Then
        'ecc ecc

End Sub

Dopo l'esecuzione della riga con la Wait For, viene mostrato correttamente il messaggio sul display, ma l'esecuzione continua con la funzione Set_Layout (come se si interrompesse l'esecuzione di Set_App e continua con la funzione successiva presente nell'Activity_Create).
Potete dirmi dove sbaglio? Grazie mille
 

udg

Expert
Licensed User
Longtime User
Questo avviene perché Set_App non è di tipo ResumableSub e non viene chiamata tramite WaitFor.
Però un WaitFor-Complete in Create non è neanche una buona idea. Quindi sarebbe meglio che la sub Create terminasse chiamando una normale sub (es. MioStart), la quale utilizzi in sequenza il WaitFor su SetAPP e poi il SetLayout (che comunque potrebbe essere anche la conclusionen di SetApp setssa).
 

GaNdAlF89

Active Member
Licensed User
Longtime User
Questo avviene perché Set_App non è di tipo ResumableSub e non viene chiamata tramite WaitFor.
Però un WaitFor-Complete in Create non è neanche una buona idea. Quindi sarebbe meglio che la sub Create terminasse chiamando una normale sub (es. MioStart), la quale utilizzi in sequenza il WaitFor su SetAPP e poi il SetLayout (che comunque potrebbe essere anche la conclusionen di SetApp setssa).
Grazie mille per la spiegazione, ho inquadrato il problema.
Il fatto è che si tratta di un grosso e vecchio progetto e ci sono centinaia e centinaia di Wait For Msgbox_Result, risulta molto stressante modificare il tutto, uno per uno...
 

Star-Dust

Expert
Licensed User
Longtime User
Grazie mille per la spiegazione, ho inquadrato il problema.
Il fatto è che si tratta di un grosso e vecchio progetto e ci sono centinaia e centinaia di Wait For Msgbox_Result, risulta molto stressante modificare il tutto, uno per uno...
io lascerei i MsgBox modali
 

Star-Dust

Expert
Licensed User
Longtime User
Per la legge sulla semplificazione, se una cosa funziona non si ripara
 
Top