| |
Membre enregistré 966 messages Popularité : +16 (20 votes) |
|
Posté le 04 février 2024 - 11:02 |
Bonjour D'une part, dans l'initialisation de mon projet, je vérifie si Internet est accessible. Pour cela, j'utilise (code résumé)
SI PASS EnModeSimulateur() ALORS gbIsInternet = InternetConnecté() FIN
D'autre part, j'utilise des requêtes. En voulant tester une nouvelle requête, lors de l'exécution, un message d'erreur "standard" signale que InternetConnecté() n'est pas disponible pour la plateforme.
Pour pouvoir exécuter la requête, j'ai dû modifier le code ainsi, mais ça me pose d'autres problèmes :
SI PASS EnModeSimulateur() ET PAS EnModeTest() ALORS gbIsInternet = InternetConnecté() FIN
Question : y a-t-il un mode du style EnTestDeRequete ?
Notez que cela doit être une évolution récente car j'utilise depuis des années le même type de code et les requêtes -- Pascal Boulesteix Applications Visiolittoral et WNatMessage modifié, 04 février 2024 - 11:05 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 797 messages Popularité : +40 (42 votes) |
|
Posté le 04 février 2024 - 23:10 |
Bonjour, j'ai également eu beaucoup de mal à détecter l'état de la connexion à ce moment-là. J'utilise donc le code suivant sur Android.
import android.net.ConnectivityManager; import android.net.NetworkCapabilities; import android.net.NetworkInfo; import android.content.Context; import android.os.Build.*;
static public int isOnline() {
int nRes = 0;
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) { NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork()); if (capabilities != null) { if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { nRes = 1; } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { nRes = 1; } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)){ nRes = 1; } } } else {
try { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { //Log.i("update_statut", "Network is available : true"); nRes = 1; } } catch (Exception e) { //Log.i("update_statut", "" + e.getMessage()); } } } else { //Log.i("update_statut","Network is available : FALSE "); } return nRes ; }
Le seul problème est que lorsque vous ajoutez une procédure Java, vous ne pourrez pas l'utiliser en mode test.
RubénMessage modifié, 04 février 2024 - 23:11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 966 messages Popularité : +16 (20 votes) |
|
Posté le 05 février 2024 - 14:40 |
Désolé, je me suis mal exprimé. C'est lors du test dans l'interface de développement qu'il y a un problème
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 359 messages Popularité : +93 (137 votes) |
|
Posté le 05 février 2024 - 19:21 |
Salut En effet, ça bug Personnellement sur la 25 que je sois en test ou sur l'appareil InternetConnecté fonctionne. Je te conseille de signaler le problème au support PCSOFT. |
| |
| |
| | | |
|
| | |
| |
Posté le 06 février 2024 - 09:59 |
Ce n'est pas un bug, c'est que quand vous faites un Go de requête le code d'init du projet est exécuté. Il faut donc "protéger" l'appel à InternetConnecté par un SI EnModeAndroid |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 359 messages Popularité : +93 (137 votes) |
|
Posté le 06 février 2024 - 12:50 |
wddev a écrit : > Ce n'est pas un bug, c'est que quand vous faites un Go de requête le code d'init du projet est exécuté. Il faut donc "protéger" l'appel à InternetConnecté par un SI EnModeAndroid Salut, sauf erreur de ma part, pascal parle du mode test Qui ce fait sous windows et internetconnecté fonctionne aussi bien sous Android et Windows |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 966 messages Popularité : +16 (20 votes) |
|
Posté le 06 février 2024 - 13:52 |
C'est bien sur le "Tester la requête (F9)" que se pose le problème.
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Posté le 06 février 2024 - 14:51 |
Popoy a écrit :
wddev a écrit : Ce n'est pas un bug, c'est que quand vous faites un Go de requête le code d'init du projet est exécuté. Il faut donc "protéger" l'appel à InternetConnecté par un SI EnModeAndroid Salut, sauf erreur de ma part, pascal parle du mode test Qui ce fait sous windows et internetconnecté fonctionne aussi bien sous Android et Windows
A mon avis c'est parce que Pascal ne nous dit pas tout et qu'il utilise la syntaxe de InternetConnecté qui prend une procédure en paramètre (et cette syntaxe est dispo en mobile uniquement) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 966 messages Popularité : +16 (20 votes) |
|
Posté le 06 février 2024 - 16:14 |
Je ne dis pas tout, parce que je n'en voyais pas l'importance. Du coup ma proc pour tester si il y a de l'Internet
Procedure gPROC_INTERNET_TEST_CONNECTION()
SI EnModeArrièrePlan() OU EnModeWidget() ALORS gbIsInternet = Vrai gnQuidInternet = 99 RETOUR FIN
SI PASS EnModeSimulateur() ALORS
gbIsInternet = InternetConnecté()
InternetConnecté(gPROC_INTERNET_REFRESH)
<Compile SI TypeConfiguration=iOS> gbIsInternet = InternetConnecté() gnQuidInternet = réseauMobile <FIN>
SINON gbIsInternet=Vrai gnQuidInternet=2 FIN
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Posté le 06 février 2024 - 16:29 |
La ligne dans le message d'erreur aurait pu vous mettre sur la voie...
En tout cas l'erreur est donc "normale" car EnModeSimulateur doit renvoyer Faux en Go de requête.
Il faut probablement écrire quelque chose du genre :
SI PAS EnModeSimulateur _ET_ EnModeAndroid ALORS ... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 359 messages Popularité : +93 (137 votes) |
|
Posté le 06 février 2024 - 19:15 |
En effet, Pascal n'a pas fourni un détail important. Car s'il avait dès le début écrit InternetConnecté(gPROC_INTERNET_REFRESH) Je n'aurai pas répondu la même chose |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 31 messages Popularité : +4 (4 votes) |
|
Posté le 08 février 2024 - 19:00 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 966 messages Popularité : +16 (20 votes) |
|
Posté le 08 février 2024 - 22:11 |
Non. Je m'en sors en utilisant WDSql pour tester ses requêtes
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |