IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windev Mobile Discussion :

[WM2024] Plantage application sur table remplie par programmation


Sujet :

Windev Mobile

  1. #1
    Nouveau membre du Club Avatar de leadri
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 56
    Points : 27
    Points
    27
    Par défaut [WM2024] Plantage application sur table remplie par programmation
    Bonjour voici mon code sur clic d'un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // Filtre simple avec une condition : 
    // Rechercher les clients d'une ville
     
     
    CléParcours	est une chaîne
     
     
    CléParcours	= HFiltre(Pointage, "IDEmployé='" + SAI_IDEmployé + "' AND IDPériode='" + COMBO_Période + "'")
    HLitPremier(Pointage, CléParcours)
    TANTQUE PAS HEnDehors()
    	// Traitement de l'enregistrement 
    	TableAjouteLigne(TABLE_REQ_Selection_Pointage,Pointage.IDPériode,Pointage.IDEmployé,Pointage.IDPointage,Pointage.Semaine,Pointage.DatePointage)
    	HLitSuivant(Pointage, CléParcours)
    FIN
    // Annule le filtre
    HDésactiveFiltre(Pointage)
    lorsque j'utilise l'émulateur tout fonctionne bien mais en réel l'application plante et je ne comprends pas pourquoi. Voici le rapport d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    ===== Erreur =====
    Date et heure=24/04/2024 12:47:31
    Message=Attempt to invoke virtual method 'android.graphics.Shader android.graphics.Paint.setShader(android.graphics.Shader)' on a null object reference
    Pile Java=fr.pcsoft.wdjava.ui.cadre.k.a(SourceFile:2)
    fr.pcsoft.wdjava.ui.cadre.b.b(SourceFile:1)
    fr.pcsoft.wdjava.ui.cadre.b.b(SourceFile:2)
    fr.pcsoft.wdjava.ui.cadre.c.draw(Unknown Source:7)
    android.graphics.drawable.RippleDrawable.drawContent(RippleDrawable.java:833)
    android.graphics.drawable.RippleDrawable.draw(RippleDrawable.java:690)
    android.view.View.getDrawableRenderNode(View.java:23540)
    android.view.View.drawBackground(View.java:23445)
    android.view.View.draw(View.java:23179)
    fr.pcsoft.wdjava.ui.champs.bouton.WDBouton$d.draw(Unknown Source:261)
    android.view.View.updateDisplayListIfDirty(View.java:22062)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    fr.pcsoft.wdjava.ui.champs.zml.WDZoneMultiligne$g.dispatchDraw(Unknown Source:108)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    fr.pcsoft.wdjava.ui.champs.zml.WDZoneMultiligne$b.dispatchDraw(Unknown Source:83)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    fr.pcsoft.wdjava.ui.champs.y$a.dispatchDraw(Unknown Source:35)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.updateDisplayListIfDirty(View.java:22048)
    android.view.View.draw(View.java:22917)
    android.view.ViewGroup.drawChild(ViewGroup.java:5230)
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987)
    android.view.View.draw(View.java:23190)
    com.android.internal.policy.DecorView.draw(DecorView.java:1154)
    android.view.View.updateDisplayListIfDirty(View.java:22062)
    android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:588)
    android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:594)
    android.view.ThreadedRenderer.draw(ThreadedRenderer.java:667)
    android.view.ViewRootImpl.draw(ViewRootImpl.java:4293)
    android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4077)
    android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3345)
    android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2222)
    android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9123)
    android.view.Choreographer$CallbackRecord.run(Choreographer.java:999)
    android.view.Choreographer.doCallbacks(Choreographer.java:797)
    android.view.Choreographer.doFrame(Choreographer.java:732)
    android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:984)
    android.os.Handler.handleCallback(Handler.java:883)
    android.os.Handler.dispatchMessage(Handler.java:100)
    android.os.Looper.loop(Looper.java:237)
    android.app.ActivityThread.main(ActivityThread.java:8167)
    java.lang.reflect.Method.invoke(Native Method)
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
    Thread=id=2
    name=main
    priority=5
    groupName=main
     
    ===== Application =====
    Nom de l'application=GO AddaPoint
    Version de l'application=0.0.1.0
    Nom du package=com.masociete.addapoint
    Date et heure de lancement=24/04/2024 12:47:30
    Version du framework Android=29.0.155.0
     
    ===== Appareil =====
    Modèle=SM-G960F
    Constructeur=samsung
    Marque=samsung
     
    ===== Système =====
    Numéro de version d'Android=10 (Android10)
    Api Level Android=29
    Mémoire de stockage interne totale=52,55 Go
    Mémoire de stockage interne disponible=47,73 Go
    Densité de l'écran=480
    Résolution de l'écran=1080x2220
    une idée svp ?

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 212
    Points : 9 220
    Points
    9 220
    Par défaut
    Bonjour,

    Première chose : savoir ce qui fait planter.
    Mettre un info entre chaque instruction (et limiter le nombre d'éléments à afficher dans la table).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    CléParcours	est une chaîne
     
    info("Avant hfiltre")
    CléParcours	= HFiltre(Pointage, "IDEmployé='" + SAI_IDEmployé + "' AND IDPériode='" + COMBO_Période + "'")
    info("Avant HLitPremier")
    HLitPremier(Pointage, CléParcours)
    info("Avant HEnDehors")
    TANTQUE PAS HEnDehors()
    	// Traitement de l'enregistrement 
    	info("Avant TableAjouteLigne")
    	TableAjouteLigne(TABLE_REQ_Selection_Pointage,Pointage.IDPériode,Pointage.IDEmployé,Pointage.IDPointage,Pointage.Semaine,Pointage.DatePointage)
    	info("Avant HLitSuivant")
    	HLitSuivant(Pointage, CléParcours)
    Sortir // ou mettre un compteur pour faire plusieurs passages
    FIN
    // Annule le filtre
    info("Avant HDésactiveFiltre")
    HDésactiveFiltre(Pointage)
    Deuxième point : les hfiltre, c'est pas bien. Fais plutôt une requête SQL
    Troisième point : précise toujours pour quel fichier/table s'adresse le HEnDehors(), ici Pointage.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 182
    Points : 276
    Points
    276
    Par défaut
    bonjour,

    j'ajouterais :

    1. au vue de la dénomination de la table, celle-ci ne serait-elle pas liée à une requête ?
    2. pourquoi n'y a-t-il pas de "TableSupprime" avant le parcours de remplissage ?
    Cordialement JeAn-PhI

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/12/2014, 17h44
  2. [WD18] Table remplis par programmation
    Par cid5420 dans le forum WinDev
    Réponses: 12
    Dernier message: 12/06/2014, 11h08
  3. Réponses: 18
    Dernier message: 28/05/2014, 14h45
  4. Réponses: 10
    Dernier message: 21/05/2013, 13h29
  5. [WD17] tri sur table fichier par programmation
    Par hadaf dans le forum WinDev
    Réponses: 1
    Dernier message: 12/10/2012, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo