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 :

probleme de communication entre 2 fenêtres windev


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut probleme de communication entre 2 fenêtres windev
    Bonjour

    J'ai un peu honte de poser cette question mais je suis bloqué.

    Alors j'ai une fenêtre avec plusieurs boutons, lorsque je clique sur le bouton "paramètre" j'ouvre une fenêtre "fenetre11", là je remplir plusieurs paramètre puis je valide (ce qui ferme ma fenêtre11 et retourne a mon autre fenêtre) Mais je n'arrive pas à récupérer mes valeurs de mes paramètres.

    Comment faire ?
    Si quelqu’un a une piste ?

    Cordialement law56100

  2. #2
    Membre émérite

    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
    Points : 2 579
    Points
    2 579
    Par défaut
    Vous dîtes que vous "remplissez plusieurs paramètres".

    Qu est ce que cela veut dire ?

    - Vous passez des paramètres à la fenêtre et les modifiez ?
    - Vous modifiez des données de vos tables (comprendre base de données) dans cette fenêtre ?
    - Autre ?

    Comprenez bien qu'un champ de saisie (ou tout autre champ) ne mémorise pas magiquement les données qu'on y saisie. Si vous n'enregistrez pas ça quelque part avant de fermer une fenêtre, vous les perdez.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 410
    Points : 513
    Points
    513
    Par défaut
    Salut,

    Essaye de faire un appel du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    resultat est une chaine
    resultat = Ouvre(fenetre11)
    // Traitement du résultat avec ExtraitChaine par exemple ...
    et dans ta fenêtre de paramètre avec le bouton de validation tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Bouton validation
    // Code de validation puis...
    ChaineRenvoi est une chaine
    ChaineRenvoi = ChampsParam1 + ";" + ChampParam2 + ";" + ...
    RENVOYER ChaineRenvoi
    Ou tu copie le contenu de tes champs dans un fichier .ini (ou autre) que tu récupère quand tu renviens dans la fenêtre principale.

    A+

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut
    c'est des entiers.

    alors j'ai une fenêtre avec un bouton "parametre" si je clique sur ce bouton ,j'ouvre une autre fenêtre.la j'ai plusieurs paramètre à rentrer.

    exmple :j'ai un interrupteur pour active ou pas une courbe

    activecourbe1 est un entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    si interrupteur=1 alors
          activecourbe1=1
    sinon
          activecourbe1=0
    fin
    Puis je valide et ferme la fenêtre
    et je n'arrive pas a récupérer la valeur de activecourbe1 sur mon autre fenêtre.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 410
    Points : 513
    Points
    513
    Par défaut
    Salut,

    Peu importe que ce soit des entiers ou non, la logique reste la même.
    Lorsque tu reçois le résultat dans ta fenêtre principale tu sépare les valeurs, tu les convertis en entier et tu les utilise.

    essaye avec juste une valeur comme activecourbe par exemple en laissant le type entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    resultat est un entier
    resultat = ouvre(fenetre11)
    SI resultat = 0 ALORS
    // Traitement
    FIN
    SI resultat = 1 ALORS
    // Traitement
    FIN
    dans la fenêtre de paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RENVOYER activecourbe
    // ou
    MaFenêtre..ValeurRenvoyée = activecourbe
    Si ça fonctionne, utilise la même logique en utilisant une chaine séparée avec un séparateur comme ; ou un tableau d'entier si tu préfère.

    A+

  6. #6
    Membre émérite

    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
    Points : 2 579
    Points
    2 579
    Par défaut
    Le plus simple étant de renvoyer un tableau de valeur. Il n'est pas utile de s'amuser avec des chaînes.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut
    Yes j'ai trouvé

    Enfet pour declarer une variables globale au projet il faut faire :

    (barre d'outil) projet => code projet => initialisation projet => déclaration de la variable

    merci de vos informations

  8. #8
    Membre émérite

    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
    Points : 2 579
    Points
    2 579
    Par défaut
    C'est une mauvaise pratique.

    Les variables globales ne doivent être utilisées que pour les variables nécessitant d'être manipulées dans TOUTE l'application. L'utilisation de globales de manière injustifiée conduit à du code difficilement maintenable et provoquant des effets de bords difficiles à maîtriser.

    Si vous avez besoin de faire passer des variables d'une fenêtre à une autre, utilisez des paramètres et/ou le renvoi de valeur.

    Alors vous allez me dire, "j'ai passé je ne sais combien de temps et ça marche alors je ne vais pas m'embêter 1 heure de plus à cause de vos élucubrations". Ce temps "perdu" ne le sera pas longtemps et ces bonnes pratiques vous feront gagner énormément de temps en vous évitant les problèmes sous lesquels vous crouleraient si vous persistez dans ces mauvaises pratiques.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Mars 2008
    Messages : 325
    Points : 150
    Points
    150
    Par défaut
    Je sais que c'est une solution de facilité mais j'utilise ces parametres dans quasiment toutes les fenêtres de mon projet et ces parametres c'est le nom, la couleur, active de quelques courbes.
    Je pense que c'est pas trop mechant mais t'as surment raison, je ne connais pas très bien windev

    merci de m'avoir avertie du danger, je ferais attention

    cordialement law56100

  10. #10
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Absolument d'accord,

    J'ai un projet avec plus de 100 variables globales, un fouilli lorsque j'essaie de faire une modif
    surtout lorsque il faut reseter une variable d'une fenetre à l'autre - terrible

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

Discussions similaires

  1. [Toutes versions] probleme de communication entre microsoft office access et le serveur OLE
    Par Nacera dans le forum Access
    Réponses: 5
    Dernier message: 13/03/2009, 23h05
  2. Communication entre deux fenêtres
    Par ManuV dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/02/2009, 10h31
  3. Réponses: 1
    Dernier message: 02/02/2009, 11h24
  4. Réponses: 8
    Dernier message: 15/05/2006, 15h54
  5. Communication entre 2 fenêtres
    Par pkdev dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 14/03/2005, 22h26

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