mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006
-
28 févr. 2005 à 18:56
mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006
-
1 mars 2005 à 13:27
bonjour
j'ai un ptit prob...
Je sauvegerde dans la base de regitre la position d'un TTrackBar par le code suivant:
Registre.WriteString('delai', IntToStr(tbDelai.Position));
lorsque je lance moj application, les paramètres sauvegardes dans la base de registre son chargé. tous les paramètres se chargent correctement sauf celui de TTrackBar, pourtant le code est correct (je pense...):
j'ai un message qui me dit "Le projet XXX a provoqué unclasse d'exeption ECOnvertErroe avec le message "" n'est pas une valeur entière correcte'. Processus stoppé. Utilisez Pas-à-pas ou Executer pour continuer."
voilà, alors j'ai beau regarder, je vois pas mon erreur...
en plus je suis sur que c'est un truc tout bête...
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 28 févr. 2005 à 19:37
S'il n'existe pas d'entrée de registre du nom passé à la méthode ReadString, celle ci renvoie une chaîne vide. D'où l'exception de conversion!!
Question : La clé a-t'elle correctement était écrite dans le registre ?
Je suppose que ta variable Registre est de type TRegistry
As tu bien Ouvert et fermer la clé du registre ?
Exemple :
if ( Registre.OpenKey( '\Software\MonAppli\', true) then
begin
Registre.WriteString('delai', IntToStr(tbDelai.Position));
// A la fermeture de la clé, celle ci est écrite dans le registre.
Registre.CloseKey;
end ;
Si, l'écriture est correcte, à la relecture es tu sur de "pointer" sur la même clé ?
var
S : string ;
Registre.OpenKey( '\Software\MonAppli\', false ) ;
S := Registre.ReadString( 'delai' ) ;
try
tbDelai.Position := StrToInt( S ) ;
except
// Echec Conversion
end ;
mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006 1 mars 2005 à 13:27
au lieu "if ( Registre.OpenKey( '\Software\MonAppli\', true) then"
j'ai testé la présence de la clé avec
"if Registre.KeyExists('Software\MonAppli') then"