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 :

Application bloquée après éxecution de code


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut Application bloquée après éxecution de code
    Bonjour,
    Je rencontre un bug ou un problème assez étrange avec WD14. A partir de la fenêtre principale, j'ouvre une nouvelle fenêtre (jusque là tout va bien, appellons la FEN2). A partir de cette fenêtre ouverte, j'accède à une troisième fenêtre (tout va toujours bien, appellons la FEN3). Sur cette dernière j'ai un code qui s'éxecute sur demande dans le click d'un champ bouton. Le code, assez long, s'éxecute correctement, ne bug pas et remplie bien sa mission, il affiche un petit message grace à la fonction "info" qui me prévient de la fin de l'exécution. Là où cela se corse, c'est qu'à la fin de l'éxecution de ce code, lorsque je clique sur la petite fenêtre info, celle-ci se ferme, mais la seconde fenêtre (FEN2) disparaît et l'application se bloque tout simplement. La seule solution consiste alors à killer le processus dans task manager... Bien entendu si j'écris ce message, c'est que cela fait maintenant plusieurs semaine que je cherche une réponse en vain, mon code ne contenant aucune instruction de fermeture de fenêtre.
    Quelqu'un à déjà eu ce problème? ou mieux, quelqu'un a-t-il une solution?

  2. #2
    Membre Expert Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Par défaut
    Hello,
    Des solutions, nous allons vous en trouvez, mais sans code, là, je m'appelle Ethan et c'est Mission Impossible.
    Comment sont appelées vos fenêtres (pas leurs noms physiques, le code d'appel, hein)?
    Envoyez-nous déjà quelque chose, et comme je dis souvent, il vaut mieux avoir des biscuits si on part en guerre contre le code...
    A vous lire

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut voilà le code..
    Ok merci, alors voilà le code :
    La fenêtre principale ouvre fen2 au travers d'un menu, dans le menu le code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //sélection du menu
    ouvre(fen2)
    sur fen2, j'ouvre fen3 grâce au clic sur un bouton qui contient le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //clic sur BTN
    ouvrefille(fen3)
    dans fen3, le bouton effectue un code assez long que je v pas détailler puisqu'il présente rien de particulier (requetes sur Bdd etc..) qui se termine par les lignes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //clic sur BTN
    ...code divers ....
    MaFenêtre..ValeurRenvoyée = Vrai
    info("fin du travail le "+DateVersChaine(DateSys())+" à "+HeureVersChaine(HeureSys())
    bien évidement le code de ce bouton ne contient, je le répéte, aucune instruction fermant ou ouvrant une fenètre, même tout simplement aucune ligne faisant référence à une fenêtre

    Je précise enfin que le bug que je décris ne se produit pas avec un code qui s'éxecute rapidement, car il faut savoir que les traitements que j'effectue prennent environ 20min en tout. En testant un simple bouton avec un code qui s'éxecute en quelques secondes le bug ne se produit pas... ici le code est bien effectué, mais après le message "fin du travail le .. à .. ", la fenêtre fen2 disparaît et l'application se bloque, m'obligeant à tuer le processus dans task manager pour reprendre la main...

  4. #4
    Membre émérite
    Inscrit en
    Avril 2008
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 132
    Par défaut
    Salut,

    MaFenêtre..ValeurRenvoyée = Vrai doit renvoyer une valeur.

    C'est là le problème.

    L'appel de cette fenêtre doit plutôt se faire de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sur fen2, j'ouvre fen3 grâce au clic sur un bouton qui contient le code suivant:
    //clic sur BTN
    SI ouvrefille(fen3) ALORS
       Info("ok")
    FIN
    Bon DEV

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut hélas non..
    Merci de me soutenir les gars... alors en fait fen3 n'est pas sensé renvoyer de valeur, ça ne présente pas d'intérêt pour moi, j'ai donc mis en commentaire la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //MaFenêtre..ValuerRenvoyéé=Vrai
    Donc j'ai mis cette ligne en commentaire et après nouveau test, rien de changé. La fenêtre ne renvoie pas de valeur et la fenêtre mère n'attend pas de valeur de retour non plus, mais l'appli se bloque toujours

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Par défaut
    Passez en debug et mettez un point d'arrêt sur le info (à priori la dernière instruction qui produit un résultat visuel et fonctionnel).

    En exécution, une fois arrivé au point d'arrêt, faites du pas à pas pour voir quelle est la dernière portion de code qui se déroule avant d'arriver dans votre situation de "blocage".

    Connaître la dernière portion de code s'exécutant est la seule façon d'aborder votre problème de manière efficace.

Discussions similaires

  1. éxecution de code après un délai
    Par saibri dans le forum jQuery
    Réponses: 3
    Dernier message: 09/11/2011, 18h51
  2. [débutant]impossible d'éxecuter avec Code::blocks!
    Par Antigonos Ier Gonatas dans le forum Code::Blocks
    Réponses: 6
    Dernier message: 31/05/2006, 19h53
  3. Réponses: 4
    Dernier message: 19/04/2006, 14h19
  4. Application bloquée
    Par bilal_ini dans le forum Langage
    Réponses: 4
    Dernier message: 22/11/2005, 14h32
  5. [CR][.Net] Mise en page dynamique Après éxecution
    Par Audrey Stelle dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/10/2005, 14h49

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