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 régulier
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Points : 113
    Points
    113
    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 actif 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
    Points : 210
    Points
    210
    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 régulier
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Points : 113
    Points
    113
    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 régulier
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Points : 113
    Points
    113
    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 éminent sénior

    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 : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    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 régulier
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Points : 113
    Points
    113
    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 expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    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 régulier
    Inscrit en
    Janvier 2006
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 288
    Points : 113
    Points
    113
    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, 10h26
  2. application externe et variable d'environnement
    Par totoche dans le forum Langage
    Réponses: 5
    Dernier message: 05/10/2010, 16h05
  3. extern storage Variable
    Par medchok dans le forum C++
    Réponses: 2
    Dernier message: 29/07/2006, 01h38
  4. Variable externe...
    Par Loki1600 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 12h28
  5. problème variable extern
    Par HeKaz dans le forum C
    Réponses: 14
    Dernier message: 08/01/2003, 02h44

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