Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : août 2012
    Messages : 73
    Points : 108
    Points
    108

    Par défaut Récuperer des valeurs dans son prog via un panneau de config (IOTAServices)

    bonjour à tous,

    je souhaite faire un petit panneau de config via les interfaces IOTAServices pour afficher un message ( par exemple ) lorsque mon programme s'execute en mode debug.

    donc, ça pas de soucis pour la création, et l'ajout dans l'ide de delphi (dans outils/options / composants tiers )

    pour sauvegarder mon message depuis mon panneau de config, je fais ceci
    Code :
    1
    2
    3
    4
    5
    6
     
     ...
      BaseRegKey                   := (BorlandIDEServices as IOTAServices).GetBaseRegistryKey;
      FRegIniFile                  := TRegistryIniFile.Create(BaseRegKey);
      FRegIniFile.WriteString('Panneau_de_conf', 'Message', edtMsg.text);
    ...
    Maintenant, je veux récupérer cette valeur dans le create de ma form pour faire un showmessage

    donc, je fais ceci :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    {$IFDEF _DEBUG}
      oReg := TRegistry.Create ;
      try
        try
          oReg.RootKey := HKEY_CURRENT_USER ;
          if oReg.OpenKey( '\Software\Embarcadero\BDS\9.0\Panneau_de_conf' , False ) then
          begin
             Showmessage( oReg.ReadString( 'Message' ));
          end;
        except
        end;
      finally
        oReg.Free;
      end;
    ...
    et là, j'ai plusieurs questions/remarques :
    1 : pour la lecture depuis mon prog, je ne sais pas si c'est la bonne méthode parce que c'est le seul endroit où j'ai trouvé une trace de ma valeur.
    2 : les valeurs dans la base de registre ne sont pas à jours.
    exemple : je remplace depuis mon panneau de conf, mon 'Hello word' par 'bonjour'. je ferme le panneau en faisant ok, je le réouvre, la valeur est la bonne. par contre dans la base de registre, j'ai toujours l'ancienne valeur.
    au bout d'un moment, elle se mettra à jour, mais bien trot tard.

    avez vous une idée, sur comment faire ?

    nota : je suis parti sur ce principe de panneau de conf, parce que chaque Dev pourra configurer son message, que je ne voulais pas de fichier .ini pour stocker la valeur, et que c'est juste pour du debug

    précision : delphi xe2 et windows 7 pro 32b

    jerome

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : août 2012
    Messages : 73
    Points : 108
    Points
    108

    Par défaut

    je me réponds à moi-même ( partiellement ) :
    pour la sauvegarde du panneau de conf via le BorlandIDEServices, je le fais sur le DialogClosed et non le destroy, et là, la bdr est toujours à jour

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •