Prin viata unei variabile se īntelege timpul cāt variabila are o valoare. Este evident ca valoarea unei variabile se poate modifica pe durata vietii sale, dar definitoriu este faptul ca variabila are o anumita valoare pe īntreaga dura 444d31e ta a vietii sale. La parasirea domeniului, variabila "moare" si nu mai are atasata o valoare.
La īnceputul executiei unei proceduri, toate variabilele sunt initializate:
Variabila numerica |
0 (zero) |
Sir de lungime variabila |
"" (sir de lungime zero) |
Sir de lungime fixa |
Completat cu caracterul Chr(0) (avānd codul ASCII 0) |
Variabila Variant |
Empty |
Variabile de tip utilizator |
fiecare element este initializat separat, potrivit tipului primar |
Variabila Object |
Nothing (pāna la asignarea unei referinte prin Set) |
Variabilele care nu sunt modificate īsi pastreaza valoarea initiala.
Variabilele declarate prin Dim la nivel de procedura au valoare pāna la terminarea executiei procedurii (chiar daca se trece prin apel īn alte proceduri).
Variabilele declarate prin Static, la nivel de procedura, au aceeasi viata ca si variabilele declarate la nivel de modul si īsi pastreaza valoarea pāna la terminarea executiei codului (inclusiv de la un apel la altul). Includerea clauzei Static īn instructiunea Sub sau Function are ca efect declararea tuturor variabilelor definite īn procedura respectiva drept variabile statice (deci care īsi pastreaza valorile īntre apeluri).
Variabilele declarate la nivel de modul standard īsi pastreaza valoarea pe tot timpul executiei. Variabilele declarate la nivel de modul clasa īsi pastreaza valoarea atāt timp cāt exista o instanta a clasei. Diferenta fata de variabilele Static este aceea ca memoria este utilizata permanent (nu se elibereaza la parasirea domeniului).
|