Merhaba,
Eklediğimiz değişkenlerin kullanımı bittikten sonra değişkeni sıfırlamak gerekli mi?
Sıfırlarsak ne gibi faydaları olur?
Sıfırlamazsak ne gibi handikaplar olur?
Vba da tamamen ram den değişkenleri silme kodları var mı?
Ustalar konu hakkında yorumlarınızı rica ediyorum. Saygılar.
“
Değişkenlerin ömrünü anlama
Bir değişkenin değerini koruduğu süre, ömrü olarak bilinir. Bir değişkenin değeri, ömrü boyunca değişebilir, ancak bir miktar değeri korur. Bir değişken kapsamını kaybettiğinde artık bir değeri olmaz.
Bir prosedür çalışmaya başladığında, tüm değişkenler başlatılır. Sayısal bir değişken sıfıra başlatılır, değişken uzunluklu bir dize sıfır uzunluklu bir dizeye ("") başlatılır ve sabit uzunluklu bir dize, ASCII karakter kodu 0 veya Chr ( 0 ) ile temsil edilen karakterle doldurulur. . Varyant değişkenleri Empty olarak başlatılır. Kullanıcı tanımlı türdeki bir değişkenin her öğesi, ayrı bir değişkenmiş gibi başlatılır.
Bir nesne değişkeni bildirdiğinizde, bellekte yer ayrılır, ancak değeri, Set deyimini kullanarak buna bir nesne başvurusu atayıncaya kadar Hiçbir Şey olarak ayarlanır.
Kodunuzun çalıştırılması sırasında bir değişkenin değeri değişmezse, kapsamını kaybedene kadar başlatılmış değerini korur.
Dim deyimiyle bildirilen yordam düzeyindeki bir değişken, yordamın çalışması bitene kadar bir değeri korur. Prosedür diğer prosedürleri çağırırsa, bu prosedürler de çalışırken değişken değerini korur.
Static anahtar sözcüğüyle prosedür düzeyinde bir değişken bildirilirse, kod herhangi bir modülde çalıştığı sürece değişken değerini korur. Tüm kodun çalışması bittiğinde, değişken kapsamını ve değerini kaybeder. Ömrü, modül düzeyinde bir değişkenle aynıdır.
Modül düzeyindeki bir değişken, statik bir değişkenden farklıdır. Standart bir modülde veya bir sınıf modülünde, siz kodunuzu çalıştırmayı durdurana kadar değerini korur. Bir sınıf modülünde, sınıfın bir örneği var olduğu sürece değerini korur. Modül düzeyindeki değişkenler, siz değerlerini sıfırlayana kadar bellek kaynaklarını tüketir, bu nedenle bunları yalnızca gerektiğinde kullanın.
Bir Sub veya Function deyiminden önce Static anahtar sözcüğünü eklerseniz, yordamdaki tüm yordam düzeyindeki değişkenlerin değerleri, çağrılar arasında korunur.” *
Yani kısaca Sub veya Function da tanımladığımız değişkenler modülün işi bitince değişkenler RAM'dan silinir. Global'de tanımlanan değişkenler program çalıştıkça hafızada yer tutar işimiz bitince içindeki değerleri boşaltmak gerekir. Aksi halde bellekten kaynak tüketerek ilerde gerekli performansı alamızı engelleyecektir.
*Alıntı(
)