Supprimer une variable [Résolu]

Signaler
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
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

Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
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.
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
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.
Messages postés
66
Date d'inscription
samedi 24 février 2007
Statut
Membre
Dernière intervention
7 octobre 2007

Salut, non ce n'est pas possible, mais pourquoi faire ???Par contre tu peux écrire MaVariable nothing ou bien MaVariable"".

A plus.
Messages postés
30
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
15 avril 2008

MaVariable = Nothing normalement
MaVariable.Dispose si c'est un objet
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
2
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
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
Quand je me relis... je me dis que ça doit pas être tres claire. Je suis pas doué pour expliqué :p

@+

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

bonne continuation

ebaudoux@club.fr

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
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 #   
Messages postés
4525
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
9
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

@+
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
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 #   
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
2
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