PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile (versiones precedentes) → Boucle passe 2 fois et après l'application stop
Boucle passe 2 fois et après l'application stop
Iniciado por Fared DAKAR, 26,may. 2019 02:23 - 19 respuestas
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 26,mayo 2019 - 02:23
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.
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 05,junio 2019 - 04:58
Salut merci pour votre reponse mais j'ai pas compris
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 05,junio 2019 - 18:54
texteaffiche=Remplace(texte,";",RC)
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 05,junio 2019 - 22:55
Je crois que n'a pas compris mon code. Pourquoi remplacer les points virgules s'a aide faire á faire quoi?
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 05,junio 2019 - 23:01
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.
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 06,junio 2019 - 07:41
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
Mensaje modificado, 06,junio 2019 - 07:44
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 06,junio 2019 - 12:32
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.
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 06,junio 2019 - 16:27
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
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 06,junio 2019 - 18:30
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.
Mensaje modificado, 06,junio 2019 - 18:31
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 06,junio 2019 - 19:03
Peut tu mettre ton message d'erreur
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 06,junio 2019 - 22:30
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
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 06,junio 2019 - 22:36
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
Mensaje modificado, 06,junio 2019 - 22:37
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 07,junio 2019 - 03:03
J'ai encore essayer ... c'est la meme erreur :(
Miembro registrado
3.342 mensajes
Popularité : +93 (137 votes)
Publicado el 07,junio 2019 - 07:13
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.
Mensaje modificado, 07,junio 2019 - 07:20
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 07,junio 2019 - 13:02
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?
Miembro registrado
309 mensajes
Popularité : +31 (37 votes)
Publicado el 25,junio 2019 - 14:44
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
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 26,junio 2019 - 01:40
même problème }:(
Miembro registrado
1.603 mensajes
Popularité : +64 (70 votes)
Publicado el 26,junio 2019 - 11:29
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
Miembro registrado
14 mensajes
Popularité : +2 (2 votes)
Publicado el 24,julio 2019 - 22:35
La taille? Par octets ou nbr de caractères ? C'est un peu long.