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

C++Builder Discussion :

extern storage variable


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Par défaut extern storage variable
    Bonjour,

    J'utilise un formulaire de paramètrage dans une application C++Builder faisant appel dans plusieurs formulaires à ces paramètres.

    J'ai pensé aux variables déclarées en extern, je suis peut être à court d'idées.

    Veuillez m'indiquer d'autres possibilités avec le plus de détails possibles.

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de cfdev
    Homme Profil pro
    Passionné
    Inscrit en
    Octobre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Passionné

    Informations forums :
    Inscription : Octobre 2004
    Messages : 220
    Par défaut
    le mieux est de placer les variables dans la class correspondante dans la partie public, ca evite d'avoir des extern dans tout les sens, à force on s'y retrouve plus.

    ++

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Par défaut extern storage variable
    Bonjour,

    Merci pour vôtre réponse.

    Bien entendu, vôtre solution peut fonctionner sauf que les variables à modifier en cours d'exécution concernent tous le programme. Autrement, ces paramètres possèdant des valeurs par défaut seront accessibles par toutes les classes en lecture et particulièrement par une classe de paramètrage en lecture/écriture.
    C'est à dire, que quelques parts j'aurais à récupérer le contenu de certains champs de formulaire par la classe appelante avant de le fermer.(???).

    Merci pour vôtre intervention

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Par défaut
    Bonjour,

    Merci pour l'intervention.

    Les choses se présentent comme suit:

    On part d'un programme avec un menu principal puis un ensemble de fenêtres (disons : fenêtre 01, fenêtre 02, fenêtre 03, ...).
    Parallèlement, on dispose d'un ensemble de variables (paramètres de contrôle) qui sont lues et exploitées par toutes les fenêtres et pouvant être modifiées par la fenêtre 01 (fenêtre de paramètrage).

    La question: Comment faire pour rendre toutes ces variables accessibles de partout?

    Autrement, comment faire pour récupérer (par le programme appelant:Menu par exemple) la valeur d'un ou de plusieurs champs d'un formulaire juste avant la fermeture de celui-ci?

    Merci

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Lorsque tu ferme une Fenetre, un evenement ce declanche juste avant la fermeture, c'est l'evenement OnClose de la Fenetre.

    pour rendre accessible les variables, tu les déclare en public dans le .h de la classe, si tu veut le lira a partie d'une autre classe tu ajoute en haut du fichier h de cette derniere classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "LeFichierOuEstSituéLaVariable.h"
    grace a ca tu pourrat y accéder a partir de cette classe.

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Par défaut extern storage variable
    Bonjour,

    Tout d'abord, je tiens à vous remercier pour vôtre réponse.

    Je vais essayer de reformuler un peu ma question afin de vous aider à me donner plus d'éléments dans la réponse: En effet, je veux récupérer (par une classe appelante) les valeurs de certains champs d'une boîte de dialogue juste avant sa fermeture. Si j'ai bien compris vôtre première réponse, il faudrait que je puisse bien exploiter la procédure OnClose de la fenêtre sauf qu'il faudrait remettre le contenu des champs de cette fenêtre (facilement récupérables) à des variables de la classe appelante et tout le problème est là puisque la fenêtre est au fait une classe cliente de sa classe appelante, donc je vois mal comment elle pourrait voir et accéder aux variables de sa classe appelante.

    Merci d'avance pour toute réponse de vôtre part.

    Medchok

    P.S: Merci de tenir compte du type de la boîte de dialogue dans la réponse.

  7. #7
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    A quelques petites erreurs de syntaxes près, ça doit donner ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TFenetreFille * FenetreFille = new TFenetreFille(this);
    FenetreFille->MonParam = MonParam;
    FenetreFille->ShowModal();
    MonParam = FenetreFille->MonParam;
    delete FenetreFille;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class TFenetreFille: public TForm
      {
    public:
      AnsiString MonParam;
      }
     
    TFenetreFille::OnClose()
      {
      MonParam = Edit->Test;   // Par exemple
      }

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Par défaut extern storage variable
    Bonjour,

    Merci pour vôtre réponse. Celà est parfait pour le cas des boîtes de dialogues modales. Reste le cas des non modales...

    Merci d'avance

    Medchok

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

Discussions similaires

  1. Enregistrer un fichier sur external storage
    Par solika dans le forum Android
    Réponses: 4
    Dernier message: 14/05/2013, 09h26
  2. application externe et variable d'environnement
    Par totoche dans le forum Langage
    Réponses: 5
    Dernier message: 05/10/2010, 15h05
  3. extern storage Variable
    Par medchok dans le forum C++
    Réponses: 2
    Dernier message: 29/07/2006, 00h38
  4. Variable externe...
    Par Loki1600 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 11h28
  5. problème variable extern
    Par HeKaz dans le forum C
    Réponses: 14
    Dernier message: 08/01/2003, 01h44

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