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).
|