PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → androïd blocage systématique application accès hyperfile serveur
androïd blocage systématique application accès hyperfile serveur
Débuté par obtuli, 22 aoû. 2013 21:22 - 15 réponses
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 22 août 2013 - 21:22
Bonjour,

J'ai une application reliée à un hyperfile serveur sur internet.

Je remplis un zone répétée (non reliée à un fichier) par programmation,
Je fais juste un hlitpremier puis un tantque ....

Tout ça marche très bien, sauf que quand l'application reste en arrière plan un certain temps
Des que je veux remplir la ZR ca plante et l'application reste bloquée.

Aucun message d'erreur.

Une idée sur ce problème ?

Merci

Cordialement

OB
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 27 août 2013 - 19:22
Bonjour,

Personne n'a d'idée ?
Au final, l'application fonctionne bien tant que je n'accède pas au serveur hyper file, le programme se fige.
Ce problème n'intervient se quand application est restée un certain temps sans accéder à HF server.

Merci

OB
Posté le 28 août 2013 - 10:20
Bonjour OB.

Pour identifier si le problème provient d'une perte de connexion, je procéderais de la manière suivante :

je teste la perte de connexion sur un HSurErreur au niveau du projet.

Tu déclares cette fonction dans ton code du projet.

HSurErreur("*",hErrPerteConnexion ,"Reconnecte")

Tu enregistres cette fonction dans une collection de procédure globale.


PROCEDURE Reconnecte()

LOCAL

bConnect est un booléen
nAncienDélai est un entier


nAncienDélai=DélaiAvantFermeture(1000)

bConnect=HReconnecte()

TANTQUE PAS bConnect


SI PAS OuiNon("La connexion à la base de donnée est interrompue","Voulez-vous essayer de vous reconnecter ") ALORS

Info("Fin de l'application")
RENVOYER opFinProgramme

FIN

bConnect=HReconnecte()

FIN

DélaiAvantFermeture(nAncienDélai)

RENVOYER opRéessayer

Bon Dev.
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 28 août 2013 - 10:56
Merci pour ton aide, je vais tester tout ça.

OB
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 28 août 2013 - 21:07
sauf erreur de ma part, les fonctions hreconnecte() et hsurerreur() ne sont pas disponibles sous android.

OB
Membre enregistré
69 messages
Popularité : +4 (4 votes)
Posté le 29 août 2013 - 10:45
Bonjour OB.

Tu as tout à fait raison ces fonctions ne sont pas disponibles sous android.

Je suis désolé de ne pas avoir vérifié la disponibilité de ces fonctions très utiles.

Après lecture de la documentation, je viens de m’apercevoir que peu de fonctions de communication ou de gestion d'erreurs sont disponibles sous android.

Je te souhaite bon courage...
Membre enregistré
948 messages
Popularité : +11 (13 votes)
Posté le 29 août 2013 - 16:01
Merci , je vais contacter le SAV de PC-SOFT.

Cela ressemble à un bug, tout fonctionne bien, sauf que si l'application reste plus de 10 minutes sans activité (l'application est en arriere plan où
la tablette est passée en veille, la moindre action hyperfile lancée ensuite plante l'application (un hlitpremier suffit à bloquer); ensuite c'est un message système Androïd qui indique que l'application ne réopnd plus et prosose d'attendre ou de fermer l'application.

Je rapelle juste qu'il s'agit d'une liaison vers un serveur hyperfile et non de fichiers HF en local sur la machine.

En effet, il semble n'y avoir aucun fonction pour contrôler la connexion et la rétablir si besoin.

cordialement

OB
Membre enregistré
141 messages
Posté le 30 août 2013 - 15:15
Je ne sais pas si cela peut t'aider mais cela ressemble à un post vu ce matin. (Mais vu que le forum de PCSoft galère à charger la moindre page voici le titre) : perte de l'analyse sur projet android
Membre enregistré
9 messages
Popularité : +0 (2 votes)
Posté le 02 septembre 2013 - 00:36
Dans tous les cas testé, j'ai le Herreurblocage qui est faux.

Pour vérifier quand même j'ai modifié vite fait en :


Code :Sélectionner tout - Visualiser dans une fenêtre à part12 test=HBloqueNumEnr(Client,hNumEnrEnCours,hBlocageEcriture)
Info("Blocage : "+test) Résultat -> Blocage : 1

Donc il a a priori bien effectué le blocage.

Ce que je ne comprends pas, c'est que si je lance le 2ieme poste en même temps, là aussi, il me dit que le Blocage a réussi, alors que le même enregistrement est déjà bloque par le premier poste ...

___________________________________________________________________________________________________________________________________________
http://24hgeek.fr/ipad-5/ & http://24hgeek.fr/xperia-zr/

--
jeune mince et sportif ravi d'étre parmi vous
Posté le 01 mars 2018 - 09:27
Bonjour,
je remonte ce vieux sujet, car j'ai le même pb avec Windev Mobile 22. Mon application mobile sur Android se connecte à une base HF distante (serveur Webdev). Tout fonctionne correctement. Mais si l'application reste inactive quelques minutes, le moindre accès à la base bloque l'application. On dirait que la connexion est perdue, mais aucun message ne l'indique.

merci de votre aide
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 01 mars 2018 - 12:40
Bonjour
Maintenir une connexion à un serveur constamment ouverte nest pas une bonne idée.
Je vous conseille soit :
Dutiliser des requêtes ( ouvreture connexion, execution requete, fermeture connexion, parcours requete...)
Ou mieux encore, de passer par des webservice

Réda
Posté le 01 mars 2018 - 15:48
Ok merci pour l'info. Je verrais par la suite si je peux optimiser mon application et passer par un webservice.
Pour le moment, j'ai trouvé une solution : lancer un thread qui fait un hlitprremier toutes les xx secondes ou minutes et ça fonctionne.
Posté le 05 mars 2018 - 10:13
Bonjour à tous,

J'ai également le même problème que "r_abrial". Je fais donc suite à la réponse de "Réda" pour comprendre un peu mieux le principe...

"Maintenir une connexion à un serveur constamment ouverte n'est pas une bonne idée."

Quel est le Pb de cette solution ?

"Je vous conseille soit :
Dutiliser des requêtes ( ouvreture connexion, execution requete, fermeture connexion, parcours requete...)"

Cela ne risque pas d’alourdir considérablement le temps des traitements ?

"Ou mieux encore, de passer par des webservice "

Depuis la version 18 (je crois), l'utilisation des webservices n'est plus obligatoire. Les appli mobiles fonctionnent sans.
Est-ce qu'il n'y a pas au final une couche supplémentaire qui "émule" un webservice ?

Pour ma part, le plantage survient après quelques minute d'inactivités (7-8 min), même un retour sur une fenêtre (sans accès à la BDD hébergée) pose problème.
Est-ce que le Pb pourrait venir des temps d'inactivités paramétrés sur le serveur Webdev ? Du nombre de connexions ? ou autres paramétrages du serveur Webdev ?
Posté le 05 mars 2018 - 10:34
Monsieur RÉDA a écrit :
Bonjour
Maintenir une connexion à un serveur constamment ouverte nest pas une bonne idée.
Je vous conseille soit :
Dutiliser des requêtes ( ouvreture connexion, execution requete, fermeture connexion, parcours requete...)
Ou mieux encore, de passer par des webservice

Réda


Bonjour à tous,

J'ai le même problème sur une application mobile (Windev mobile 22 pour Android) qui se connecte à une BDD hébergée (chez Kalanda). Après quelques minutes (7-8 min), l'application met un temps fou à répondre.
Exemple :
Retour sur une fenêtre (même sans accès à la BDD) -> 2min, après le fonctionnement redevient normal.

Je rebondit donc sur la réponse de "Réda" et vous demande quelques précisions...

1) Pourquoi ce n'est pas conseillé de maintenir la connexion ?

2) Ouvrir connexion, requête, fermer la connexion...., Ceci ne risque pas d'alourdir les temps de traitements ?

3) Utiliser un Webservice. Depuis la version 18 (je crois), les webservices ne sont plus obligatoires, les applis fonctionnent sans... N'y a t-il pas un webservice "intégré" qui fait le job ?

4) Le PB pourrait-il venir du paramétrage du serveur d'application webdev ? nombre de connexion ? délai de sessions ?

Merci d'avance pour vos réponses ...
Membre enregistré
217 messages
Popularité : +12 (12 votes)
Posté le 05 mars 2018 - 22:04
Bonsoir,
J'ai constaté que windev mobile (en generation android) gerait tres mal les deconnexion et reprises de.connexion au serveur

Cest pour cette raison que je suis passé aux requetes dans un premiers temps puis en webservice

Le fait de passer par des requetes dominue considerablement le nombre daller retour au serveur (a condition qu'elles soient bien ecrites)
La requete une fois executée reste en memoire (en local) donc vous pouvez parcourir et traiter vos resultats meme en absence de.connexion internet.

Le webserice est bien entendu pas onligatoire mais y a beaucoup a y gagner
Rien que le fait davoir une archi separant l'application mobile des donnees est pour moi un serieux avantage
Posté le 09 mars 2018 - 15:40
Monsieur RÉDA a écrit :
Bonsoir,
J'ai constaté que windev mobile (en generation android) gerait tres mal les deconnexion et reprises de.connexion au serveur

Cest pour cette raison que je suis passé aux requetes dans un premiers temps puis en webservice

Le fait de passer par des requetes dominue considerablement le nombre daller retour au serveur (a condition qu'elles soient bien ecrites)
La requete une fois executée reste en memoire (en local) donc vous pouvez parcourir et traiter vos resultats meme en absence de.connexion internet.

Le webserice est bien entendu pas onligatoire mais y a beaucoup a y gagner
Rien que le fait davoir une archi separant l'application mobile des donnees est pour moi un serieux avantage




Merci REDA pour votre retour. Nous allons tenter dans 1er temp :

- Ouvrir connexion, requête, fermer la connexion.... piuis nous verrons pour créer tout en webservices dès que nous aurons un peu plus de temps...

Merci des infos !