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

VB.NET Discussion :

[VB.NET]settings.settings Scope Application plus de binding


Sujet :

VB.NET

  1. #1
    Expert confirmé
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Par défaut [VB.NET]settings.settings Scope Application plus de binding
    Bonjour,

    Voilà je suis confronté à un problème assez étrange

    Je suis sous VS 2005 et j'utilise mes settings comme dans cet article : http://www.microsoft.com/france/msdn/vbasic/ressources/vbmysettings.mspx

    En gros j'utilise VS 2005 pour éditer mes settings, puis j'ai 2 formulaires avec plusieurs controles liés à mes settings.

    Si la propriété Scope de mes différents paramètres est à "User" tout marche à merveille. Le binding fonctionne au poil, la sauvegarde auto aussi.

    Maintenant si je change le scope d'un ou plusieurs paramètres en le passant à "Application", je fais bien "Synchronize" & Rebuild all, et quand j'exécute mon applis les problèmes commencent : plus aucun binding entre mes paramètres Scope=Application et mes controles, plus de sauvegarde (même en applicant explicitement my.settings.save()) mes controles affichent tout le temps les valeurs par défaut de mes paramètres.

    Si je fais un mix de params "Application" et de params "User" seul les params "User" sont sauvés...

    Les bindings générés par le designer semblent corrrect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TxtLogin.DataBindings.Add(New System.Windows.Forms.Binding("Text", Global.OracleUtils.My.MySettings.Default, "login", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
    et mon fixhier app.config semble aussi ok
    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
    <applicationSettings>
            <OracleUtils.My.MySettings>
                <setting name="IntervalArchi" serializeAs="String">
                    <value>5</value>
                </setting>
                <setting name="NameArchi" serializeAs="String">
                    <value>archi</value>
                </setting>
                <setting name="PathArchi" serializeAs="String">
                    <value>c:\Program Files\archi\</value>
                </setting>
                <setting name="TimeArchi" serializeAs="String">
                    <value>30/03/2006 01:00</value>
                </setting>
                <setting name="Server" serializeAs="String">
                    <value>oracle</value>
                </setting>
                <setting name="Login" serializeAs="String">
                    <value>log</value>
                </setting>
                <setting name="Mdp" serializeAs="String">
                    <value>mdp</value>
                </setting>
                <setting name="PathDico" serializeAs="String">
                    <value>c:\Program Files\</value>
                </setting>
            </OracleUtils.My.MySettings>
        </applicationSettings>
    Une idée ?


  2. #2
    Expert confirmé
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Par défaut
    Bon ben j'ai trouvé...

    si le scope de mon paramètre est à "application" les settings sont en read only

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The setting's Scope determines if the property is read-only; the property for an Application-scope setting is read-only, while the property for a User-scope setting is read-write. You cannot change or save the values of application-scope settings at run time.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/MyWalkthro.asp

    voilà

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Par défaut J'ai un peu le même problème... MAIS ...
    Le scope de mes settings est bien à User...

    Au cours de l'execution de mon appli, je change par exemple ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     global::GU_VS2003.Properties.Settings.Default.UrlService = url;
     global::GU_VS2003.Properties.Settings.Default.Save();
    Puis quand je la réutilise encore en cours d'execution, c'est la bonne valeur ...

    Après l'execution, je regarde dans le fichier xml, la valeur sont celle par defaut ..

    si quelqu'un a une idée

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Par défaut Trouve
    ALors en fait moi quand j'ouvrai le fichier Settiçngs.settings au format XML et non avec la belle interface de VS2005, j'avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version='1.0' encoding='utf-8'?>
    <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="GU_VS2003.Properties" GeneratedClassName="Settings">
      <Profiles />
      <Settings>
        <Setting Name="UrlService" Type="(Web Service URL)" Scope="User">
          <Value Profile="(Default)">http://par-echris/WebService2005/Service.asmx</Value>
        </Setting>
        <Setting Name="User" Type="System.String" Scope="User">
          <Value Profile="(Default)">56</Value>
        </Setting>
      </Settings>
    </SettingsFile>

    Je trouvai bizarre: Profile="(Default)" donc poubelle et ça marche maintenant

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut Propriétés des Settings
    Bonjour, peut-on passer les settings avec un scope Application en... l'inverse de ReadOnly pour pouvoir les modifier ?

    Merci.

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

Discussions similaires

  1. Gestion des settings sur plusieurs applications
    Par Er3van dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 10/03/2011, 17h22
  2. Configuration Settings d'une application
    Par infostars dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/02/2009, 12h03
  3. Application settings et scope "Application"
    Par belote dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/12/2007, 10h48
  4. [VB .NET] Localisation d'une application vb.net
    Par plasticgoat dans le forum Windows Forms
    Réponses: 28
    Dernier message: 07/06/2006, 16h13
  5. [struts] scope application
    Par otminou dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/09/2004, 09h52

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