PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile (earlier versions) → Boucle passe 2 fois et après l'application stop
Boucle passe 2 fois et après l'application stop
Started by Fared DAKAR, May, 26 2019 2:23 AM - 19 replies
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on May, 26 2019 - 2:23 AM
Salut, j'espère que tout va bien,
J'ai un grand problème avec mon application android crée avec windows mobile 23
Lorsque je lance l'application avec l'emulateur interne de windev il fonctionne tres bien mais quand je utilise l'apk sur un téléphone android une erreur s'affiche est l'application plante.
J'ai essayer un debug avec android monitor et j'ai trouve que une boucle qui cause la probleme cette boucle passe 2 fois mais il s'arrête soudainement.
Voici le code de la boucle:

//Texte est une grand chaîne UNICODE
LesPhrases= ChaîneDécoupe(Texte, "; ")
nbrPhrase = TableauOccurrence( LesPhrases )

POUR Indice = 1 À nbrPhrase
SI ChaîneOccurrence( LesPhrases[Indice], TexteRecherche, MotComplet+SansCasse) <> 0 ALORS
nbrResultat = nbrResultat + 1
TexteAfficher = TexteAfficher + LesPhrases[Indice] + RC
FIN
FIN

Aidez moi SVP.
Registered member
3,330 messages
Popularité : +93 (137 votes)
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 05 2019 - 4:58 AM
Salut merci pour votre reponse mais j'ai pas compris
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 05 2019 - 6:54 PM
texteaffiche=Remplace(texte,";",RC)
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 05 2019 - 10:55 PM
Je crois que n'a pas compris mon code. Pourquoi remplacer les points virgules s'a aide faire á faire quoi?
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 05 2019 - 11:01 PM
Le code fonctionne deux fois et l'application plante sans aucune explication je crois que développent avec windev n'est pas une très bonne aider pour crée des application stable et opérationnel.
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 06 2019 - 7:41 AM
Désolé, mais quand je lis ton code.
tu découpe ton texte a chaque point virgule
puis tu recréer le texte en rajoutant rc
donc en fait si tu remplace point virgule par rc ça revient au même.
Ou sinon faut m'expliquer ton code
car c'est quoi TexteRecherche
Message modified, June, 06 2019 - 7:44 AM
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 06 2019 - 12:32 PM
Ok, le code aide a rechercher dans un long texte c'est la variable texte.
Je découpe cette variable a des phrases car après chaque point virgule dans mon variable texte j'ai une phrase dons je sais maintenant le nombre de phrase dans mon texte.
Dans chaque phrase je cherche si la variable entrer par l'utilisateur texterecherche existe ou non dans la phrase. Si elle existe j'affiche la phrase et j'ajoute un retour a ligne RC.
Merci pour votre passion.
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 06 2019 - 4:27 PM
tu peut essayer en faisant
pour toute chaîne phrase de texte séparé par ";"
si ... alors
fin
fin
voir https://doc.pcsoft.fr/?1510018
le pour tout remplace ta boucle
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 06 2019 - 6:30 PM
J'ai essayé, La même problème et la même résultat. C'est juste la changement d'une boucle par une autre.
Message modified, June, 06 2019 - 6:31 PM
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 06 2019 - 7:03 PM
Peut tu mettre ton message d'erreur
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 06 2019 - 10:30 PM
Voici le rapport d'erreur:
===== Erreur =====
Date et heure=06/06/2019 20:26:55
Message=Erreur interne.
Message système=length=256; index=1563
Traitement=Initialisation de FEN_ResultatParRecherche.SAI_ResultatParRecherche
Pile WLangage=Initialisation de FEN_ResultatParRecherche.SAI_ResultatParRecherche
Clic gauche sur FEN_Recherche.BTN_RechercherParArticle
Pile Java=fr.pcsoft.wdjava.core.g.r.a(Unknown Source:15)
fr.pcsoft.wdjava.core.g.r.a(Unknown Source:48)
fr.pcsoft.wdjava.b.b.a(Unknown Source:34)
fr.pcsoft.wdjava.a.a.a(Unknown Source:28)
ma.almobarmig.kawanin.wdgen.GWDFFEN_ResultatParRecherche$GWDSAI_ResultatParRecherche.init(Unknown Source:165)
fr.pcsoft.wdjava.ui.b.executerPCode(Unknown Source:5)
fr.pcsoft.wdjava.ui.champs.ab.executerPCode(Unknown Source:3)
fr.pcsoft.wdjava.ui.champs.saisie.c.executerPCode(Unknown Source:3)
fr.pcsoft.wdjava.ui.b.appelPCode(Unknown Source:34)
fr.pcsoft.wdjava.ui.champs.z.appelPCode(Unknown Source:12)
fr.pcsoft.wdjava.ui.champs.f.c(Unknown Source:60)
fr.pcsoft.wdjava.ui.champs.fenetre.WDFenetre.activity_onCreate(Unknown Source:142)
fr.pcsoft.wdjava.ui.activite.g.run(Unknown Source:10)
android.os.Handler.handleCallback(Handler.java:873)
android.os.Handler.dispatchMessage(Handler.java:99)
fr.pcsoft.wdjava.core.g.h.a(Unknown Source:387)
fr.pcsoft.wdjava.ui.champs.fenetre.WDFenetre.ouvre(Unknown Source:49)
fr.pcsoft.wdjava.ui.champs.fenetre.f.ouvre(Unknown Source:77)
fr.pcsoft.wdjava.ui.champs.fenetre.f.ouvrirFenetre(Unknown Source:35)
fr.pcsoft.wdjava.a.j.a(Unknown Source:16)
fr.pcsoft.wdjava.a.j.b(Unknown Source:1)
ma.almobarmig.kawanin.wdgen.GWDFFEN_Recherche$GWDBTN_RechercherParArticle.clicSurBoutonGauche(Unknown Source:71)
fr.pcsoft.wdjava.ui.b.executerPCode(Unknown Source:17)
fr.pcsoft.wdjava.ui.champs.ab.executerPCode(Unknown Source:3)
fr.pcsoft.wdjava.ui.b.appelPCode(Unknown Source:34)
fr.pcsoft.wdjava.ui.champs.z.appelPCode(Unknown Source:12)
fr.pcsoft.wdjava.ui.b.appelPCode_TLM(Unknown Source:7)
fr.pcsoft.wdjava.ui.champs.bouton.c.onClick(Unknown Source:74)
android.view.View.performClick(View.java:7333)
android.widget.TextView.performClick(TextView.java:14160)
android.view.View.performClickInternal(View.java:7299)
android.view.View.access$3200(View.java:846)
android.view.View$PerformClick.run(View.java:27773)
android.os.Handler.handleCallback(Handler.java:873)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:214)
android.app.ActivityThread.main(ActivityThread.java:6981)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
Thread=id=2
name=main
priority=5
groupName=main

===== Application =====
Nom de l'application=مكتبة القوانين المغربية
Version de l'application=2.0.0.0
Nom du package=ma.almobarmig.kawanin
Date et heure de lancement=06/06/2019 20:26:47
Version du framework Android=23.0.125.0 (fr)

===== Appareil =====
Modèle=SM-G960F
Constructeur=samsung
Marque=samsung

===== Système =====
Numéro de version d'Android=9 (unknown)
Api Level Android=28
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 06 2019 - 10:36 PM
Morpheus, sur un autre forum a donner la réponse :
2 choses

a) Sur l'écran de configuration du wizzard de génération d'applications, cliquez sur Paramètres avancés dans la liste déroulante SDK Android. Sélectionnez le SDK cible 8.0.0 (pour le niveau 26) 8.1 pour le niveau (27).
b) cliquez sur edit manifeste, il y a une section appelée USES-SDK sous cette section est un paramètre appelé ANDROID: TARGETSDKVERSION, vous verrez que même si vous avez choisi le niveau 26 ou 27 SDK avant la version 24 (c'est à dire codé par windev) double-cliquez sur ce paramètre et le changer exactement à la même version que vous avez choisi sur le point A

Choisi le niveau 28
Message modified, June, 06 2019 - 10:37 PM
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 07 2019 - 3:03 AM
J'ai encore essayer ... c'est la meme erreur :(
Registered member
3,330 messages
Popularité : +93 (137 votes)
Posted on June, 07 2019 - 7:13 AM
Désolé je ne vois pas ce que ça peut être.
ou bien ton erreur vient d'un autre endroit de ton code
dans l'initialisation de ta fenêtre.
met des info dans tous ton code pour temporiser celui-ci et vérifier l'endroit exact
de où cela ce produit.
As tu essayer sur d'autres appareils et d'autres versions d'Android ?
Si c'est ton seul appareil , desinstalle complètement l'application avant de la réinstaller.
Message modified, June, 07 2019 - 7:20 AM
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 07 2019 - 1:02 PM
Oui, j'ai essayer plus un appareils avec des version différents d'android est la résultat la même. Peut-être la longueurs de la chaine texte surcharge la mémoire de téléphone?
Registered member
309 messages
Popularité : +31 (37 votes)
Posted on June, 25 2019 - 2:44 PM
Bonjour,
Il faudrait éventuellement essayer sans tableau :

POUR TOUTE chaîne unephrase de Texte SEPAREE PAR ";"
SI Position(unephrase,texteRecherche,1,MotComplet+SansCasse) ALORS
texteAfficher+=unephrase+RC
FIN
FIN


Bon dev
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on June, 26 2019 - 1:40 AM
même problème }:(
Registered member
1,603 messages
Popularité : +64 (70 votes)
Posted on June, 26 2019 - 11:29 AM
Bonjour Fared,

Quelle est la taille de ton texte à découper ?
sinon tu peux réaliser une "trace" dans ton appli comme indiqué ici dans ma réponse ici:
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windevmobile/36938-crash-apk-messagedate-invalide/read.awp

Je crois aussi avoir développé cela dans le forum.

--
Cordialement
François
Registered member
14 messages
Popularité : +2 (2 votes)
Posted on July, 24 2019 - 10:35 PM
La taille? Par octets ou nbr de caractères ? C'est un peu long.