Un variable qui perd sa valeur lors du hide d'une fiche secondaire

Résolu
cricri_b34 Messages postés 223 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 février 2006 - 13 déc. 2004 à 04:02
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 - 17 déc. 2004 à 08:39
salut

j'ai une variable (globale) qui enregistre l'emplacement du fichier en cours d'utilisation.

le probleme cest que quand je fait afficher une autre fenetre (form3.show) puis que je fais (form3.hide) cette variable perd sa valeur.

( elle perd sa valeur dans le hide)

est ce que c normal??

voici mon code pour le hide :

procedure TForm3.BitBtn1Click(Sender: TObject);
var machaine : string ;
machaine2 : string ;
begin
machaine := copy(label2.caption,2,Length(label2.caption)-2);
machaine2 := copy(label3.caption,2,Length(label3.caption)-2);
form1.Edit2.text := form1.Edit2.text + stringreplace(machaine,' ','',[rfreplaceall]) + ' ' + stringreplace(machaine2,' ','',[rfreplaceall]);
form3.hide ;
end;

donc apres le clic de se bouton ma variable perd sa valeur

6 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
16 déc. 2004 à 22:55
Le code complet que tu m'as passé en pv m'a permis de trouver la solution :

En effet, tu as mis le code suivant :
procedure TForm1.FormActivate(Sender: TObject);
begin
chemfich := '' ;
end;

Ce qui fait qu'à chaque fois que la form1 est activée, la variable 'chemfich' est réinitialisée. Donc dans le cas ou tu fermes la form3, la form1 est réactivée donc le contenu de ta variable 'chemfich' disparait ;)

@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
3
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
13 déc. 2004 à 09:05
Hello,
Si ta fameuse variable dont tu parles est machaine ou machaine2 c'est tout a fait normal que tu perdes la valeur car c'est une variable local. Si tu veux conserver la valeur de cette variable tu dois la déclarer en global.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
cs_valval Messages postés 13 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 1 janvier 2005 1
14 déc. 2004 à 12:42
Salut!
les variables machaine et machaine2 sont des variables locales càd qu'elles ne sont limitées qu'à la procedure. essaye de déclarer celle des deux qui t'intéresse dans la partie implémentation.
0
cricri_b34 Messages postés 223 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 février 2006
16 déc. 2004 à 19:24
en passant ma variable est une variable globale
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cricri_b34 Messages postés 223 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 février 2006
16 déc. 2004 à 19:24
en passant ma variable est une variable globale
0
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
17 déc. 2004 à 08:39
LOL merci de ne nous tenir au courant Ni69 c'est cool.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
Rejoignez-nous