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
Maintenant, je veux récupérer cette valeur dans le create de ma form pour faire un showmessage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... BaseRegKey := (BorlandIDEServices as IOTAServices).GetBaseRegistryKey; FRegIniFile := TRegistryIniFile.Create(BaseRegKey); FRegIniFile.WriteString('Panneau_de_conf', 'Message', edtMsg.text); ...
donc, je fais ceci :
et là, j'ai plusieurs questions/remarques :
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 {$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; ...
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
Partager