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 Discussion :

[WD11]Programme qui se ferme


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [WD11]Programme qui se ferme
    Bonjour à tous,
    J'ai découvert Windev recemment et je voulais faire une petite application qui calcul la vitesse de cyclomoteur.
    J'ai donc réalisé une fenetre mais lorsque je clique sur mon bouton calcul l'application se ferme et je ne comprend pas pourquoi.
    Voila le code que j'ai sur mon bouton calcul.
    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
     
    Tp est un entier
    Ind est un entier
    Rb est un tableau de 6 entier
    Vitesse est un tableau de 6 entier
    SELON choix
       CAS 1:
          Tp=3.5
          Rb[1]=2.75
          Rb[2]=1.93
          Rb[2]=1.5
          Rb[4]=1.25
          Rb[5]=1.08
          Rb[6]=0.956
     
          POUR Ind=1 A 6
             Vitesse[Ind]=(Vm*Zp*P*0.0006)/(Tp*Rb[Ind]*Zc)
          FIN
       CAS 2:
          Tp=3.714
          Rb[1]=3.090
          Rb[2]=2.000
          Rb[3]=1.5
          Rb[4]=1.2
          Rb[5]=1.045
          Rb[6]=0.957
     
          POUR Ind=1 A 6
             Vitesse[Ind]=(Vm*Zp*P*0.0006)/(Tp*Rb[Ind]*Zc)
          FIN
       CAS 3:
          Tp=3.5
          Rb[1]=3.0
          Rb[2]=2.062
          Rb[3]=1.526
          Rb[4]=1.227
          Rb[5]=1.041
          Rb[6]=0.960
     
          POUR Ind=1 A 6
             Vitesse[Ind]=(Vm*Zp*P*0.0006)/(Tp*Rb[Ind]*Zc)
          FIN
       CAS 4:
          Tp=4.166
          Rb[1]=3.166
          Rb[2]=2.076
          Rb[3]=1.576
          Rb[4]=1.247
          Rb[5]=1.028
          Rb[6]=0.923
     
          POUR Ind=1 A 6
             Vitesse[Ind]=(Vm*Zp*P*0.0006)/(Tp*Rb[Ind]*Zc)
          FIN
     
     
    FIN
    V1=Vitesse[1]
    V2=Vitesse[2]
    V3=Vitesse[3]
    V4=Vitesse[4]
    V5=Vitesse[5]
    V6=Vitesse[6]
    J'espere que vous pourrez m'aider

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Tu as tracé ton projet ?

  3. #3
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bonjour.

    Rb déclaré ici est un tableau de 0 oparce que non initialisé. Il n'est jamais bon de faire des divisions par zéro.

    Bon dev.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Tu entends quoi par tracé mon projet ??

    "Rb déclaré ici est un tableau de 0 oparce que non initialisé. Il n'est jamais bon de faire des divisions par zéro."
    Oui mais selon mon cas à chaque fois je l'initialise avec les valeurs dont j'ai besoin.

  5. #5
    Membre averti Avatar de Le Shadow
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 265
    Points : 305
    Points
    305
    Par défaut
    Tracer le projet = Ajouter un breakpoint (Fonction STOP) dans ta fonction ou encore te mettre des trace ou des infoBox pour savoir où il ferme...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci Shadow de m'avoir eclairé sur ce point la.
    Non j'ai pas tracé ma fonction je vais le faire et vous tiens au courant

  7. #7
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    J'ai copié ton source tel quel. j'ai plein de valeurs non définies dont zc. Ce qui fait que moi j'ai une division par zéro.

    Sinon ton source n'a aucun problème en lui-meme si ce n'est un leger manque de rigueur. Alors ton souci n'est il pas ailleurs ? n'as tu pas une procedure automatique genre trigger qui perturberait le logiciel ?

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Le type de ton bouton n'est pas "Abandon" par exemple ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Non c'est un bouton normal.
    J'ai modifié mon code et j'ai mis des infobox comme vous me l'avez sugéré.
    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
    Tp est un entier
    Ind est un entier
    Rb est un tableau de 6 entier
    Vitesse est un tableau de 6 entier
    Info("rentre")
    SELON choix
    	CAS 1:
    		Tp=3.5
    		Rb[1]=2.75
    		Rb[2]=1.93
    		Rb[3]=1.5
    		Rb[4]=1.25
    		Rb[5]=1.08
    		Rb[6]=0.956
    		Info("chargement tableau")
    		POUR Ind=1 A 6
    			Info("calcul",Ind);
    			Vitesse[Ind]=(Vm*Zp*P*0.0006)/(Tp*Rb[Ind]*Zc)
    		FIN
    		Info("calcul terminé")
    Il affiche bien "rentre" puis "chargement tableau" puis calcul jusqu'a "calcul 6" et apres il se ferme au lieu d'afficher "calcul terminé".
    Quelqu'un aurait il une idée??

  10. #10
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    Salut,
    avec le débogueur et les points d'arrêt (raccourci : Ctrl B) là où il faut, que se passe t-il exactement, et les valeurs contenue dans tes variables sont-elles valides ?
    (dans onglet en bas à gauche : Code/Débogueur. Tu peux aussi voir le contenu des variables pendant le debogage, en laissant le curseur dessus, ainsi qu'ajouter des expressions)

    Heu sinon, est-il normal que tu stockes des nombres à virgule dans des entiers ??

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il manque un "FIN" dans ton code
    ps : sauf si tu n'as pas mis tout le code

    [Édit]
    Vérification faite, j'ai répondu trop vite

  12. #12
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    si le FIN manquait, il y aurait une erreur de compilation : "Erreur :Il manque le FIN associé à ce POUR.", et une monstrueuse fenêtre d'erreur affichée à l'exécution. C'est sans aucun doute une petite erreur de recopie

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    J'ai testé ton source :
    l'erreur est une division par 0
    erreur logique puisque ton tableau Rb[] est un tableau d'entiers
    quand tu fais Rb[6]=0.956 tu ne conserves que la partie entière et ça plante

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programme qui ne se ferme pas totalement
    Par Catskan dans le forum C++Builder
    Réponses: 5
    Dernier message: 11/08/2012, 00h43
  2. Réponses: 3
    Dernier message: 28/07/2012, 15h26
  3. Programme qui se ferme de facon inattendue
    Par geek-59600 dans le forum Débuter
    Réponses: 1
    Dernier message: 13/11/2009, 09h34
  4. Réponses: 1
    Dernier message: 04/11/2008, 10h16
  5. programme qui s ouvre, execute et se ferme ..
    Par hijodelanoche dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2005, 09h37

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