J'avais cet ancien code avec Msgbox2. Si le fichier n'était pas sauvegardé lors de l'appui sur la touche Back, le programme me demandait de sauvegarder le fichier et le Back s'opérait :
Avec le nouveau code, j'ai voulu remplacer Msgbox2 par Msgbox2Async et aussi tenir compte du signalement comme quoi aucune valeur booléenne n'était renvoyée dans le code ci-dessus :
L'ennui (mineur), c'est qu'avec Return True, il m'affiche le message et me laisse le temps de répondre, mais il n'effectue pas ensuite le Back contrairement avec l'ancien code.
Si je change Return True en Return False, je n'ai pas le temps de répondre à la question car il me fait un Back immédiat.
N'est-il pas possible de retrouver le fonctionnement de l'ancien code : répondre à la question et Back automatique ensuite ?
Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then
'Vérifier que l'on sauvegarde bien le fichier si celui-ci a été modifié
If enregOK = True Then
Dim result As Int
result = Msgbox2("Voulez-vous sauvegarder les modifications ?", "Sauvegarde du fichier", _
"Oui", "", "Non", Null)
If result = DialogResponse.POSITIVE Then btnEnr_Click
End If
End If
End Sub
Avec le nouveau code, j'ai voulu remplacer Msgbox2 par Msgbox2Async et aussi tenir compte du signalement comme quoi aucune valeur booléenne n'était renvoyée dans le code ci-dessus :
Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then
'Vérifier que l'on sauvegarde bien le fichier si celui-ci a été modifié
If enregOK = True Then
openMsgBox
Return True
Else
Return False
End If
Else
Return False
End If
End Sub
Sub openMsgBox
Msgbox2Async("Voulez-vous sauvegarder les modifications ?", "Sauvegarde du fichier", "Oui", "", "Non", Null, False)
Wait For Msgbox_Result (Result As Int)
If Result=DialogResponse.POSITIVE Then
btnEnr_Click
End If
End Sub
L'ennui (mineur), c'est qu'avec Return True, il m'affiche le message et me laisse le temps de répondre, mais il n'effectue pas ensuite le Back contrairement avec l'ancien code.
Si je change Return True en Return False, je n'ai pas le temps de répondre à la question car il me fait un Back immédiat.
N'est-il pas possible de retrouver le fonctionnement de l'ancien code : répondre à la question et Back automatique ensuite ?