Supprimer une variable

Résolu
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 30 juil. 2007 à 17:51
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 30 juil. 2007 à 23:38
Salut à tous, esque c'est possible de supprimer une variable? ex:

Dim MaVariale As String
MaVariable = "valeur"

Kill MaVariable

Bon, vous avez compris?

ebaudoux@club.fr

http://tempuri.org/tempuri.html

11 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
30 juil. 2007 à 19:25
MaVariable = Nothing ne SUPPRIME pas la variable.

Ce qui gere la durée de vie d'une variable c'est sa portée : dim, private, static, public, global et son emplacement : dans un module(memoire "statique"), une classe(memoire "dynamique"), une fonction (pile).

Les termes ne sont pas exacts mais c'est pour facilite la comprehention. Dit nous ce que tu veux faire et on te diras la solution adequate.

@+

E.B.
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
30 juil. 2007 à 20:53
Private : (identique a dim) indique que ta variable ne sera pas "accessible" en dehors de son "parent" pour un module standard une variable private ne s'utilisera que dans le module dans lequel elle a été declaré.

Static : S'utilise dans une fonction cela permet de restreindre l'utilisation d'une variable de type private. C'est a dire que la variable n'est pas sur la pile mais dans la section "data" pourtant elle ne sera accessible que dans le code de la fonction c'est vb qui gerera la restriction.

Global : (identique à public) heritage des anciennes version de vb

@+

E.B.
3
PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
30 juil. 2007 à 19:02
Salut, non ce n'est pas possible, mais pourquoi faire ???Par contre tu peux écrire MaVariable nothing ou bien MaVariable"".

A plus.
1
PORTE_BLINDEE Messages postés 30 Date d'inscription dimanche 10 décembre 2006 Statut Membre Dernière intervention 15 avril 2008
30 juil. 2007 à 19:02
MaVariable = Nothing normalement
MaVariable.Dispose si c'est un objet
0

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

Posez votre question
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
30 juil. 2007 à 19:38
Ok, merci, euh, à propos de private, static et global, je ne connait pas ces caractèristiques, c'est quoi?

ebaudoux@club.fr

http://tempuri.org/tempuri.html
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
30 juil. 2007 à 20:55
Quand je me relis... je me dis que ça doit pas être tres claire. Je suis pas doué pour expliqué :p

@+

E.B.
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
30 juil. 2007 à 21:21
Bravo, c'est claire, merci, ça me va très bien comme réponse...

bonne continuation

ebaudoux@club.fr

0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 juil. 2007 à 21:58
Je rajouterais une précision pour Static

Une variable static est conservée entre 2 appels de la fonction. Ainsi si lors de l'appel précédent la variable statique avait oris la valeur 142, lors de l'appel suivant elle aura toujours la valeur 142 au lieu d'etre (dans la pluspart des cas) = 0

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #   
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
30 juil. 2007 à 22:01
C'est ce que je disais. C'est identique a une variable private dans un module ou une classe mais dont "l'utilisation" est restreinte à la fonction. C'est a dire que l'emplacement memoire de cette variable reste valide pendant toute la durée du processus par opposition a une variable sur la pile qui ne dure que le temps d'une fonction.

Merci pour la precision

@+
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 juil. 2007 à 22:12
Oui EBArtSoft, j'avais bien compris. C'est parfaitement clair pour nous qui maitrisons ces termes et ce qu'ils impliquent, mais j'ai pensé que pour quelqu'un qui ne connais rien à la portée et la durée de vie des objets, il n'était pas évident dans le fait "que c'est comme une Private" que la variable conservait sa valeur entre 2 appels contrairement aux autres variables "classique" de la fonction, car sa durée de vie est celle de l'application et non plus celle de la fonction.

Même si c'est pourtant évident, ce n'est pas forcément facilement appréhendable pour un novice.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
30 juil. 2007 à 23:38
Salut Casy, ta précision était simpa mais j'avais bien compris ce que EBArtSoft a dit.

ebaudoux@club.fr

http://tempuri.org/tempuri.html
0
Rejoignez-nous