Edit’in içeriğini OnChange Olayında Değiştirmek
Başlık ilk okunduğunda anlaşılabilecek türden olmadı biliyorum. Metin kutusunun içeriği değiştiğinde içeriğine müdahale etmek pek mümkün değildir (Yani OnChange yordamında içeriği değiştirecek işlemler yapmak). OnChange olayında içeriği değiştirirseniz, oluşan değişiklikten dolayı OnChange tekrar çalıştırılır ve bu böyle sonsuza kadar devam eder. Aslında yığın (stack) dolana kadar devam eder. Yığın neden dolar derseniz, bir nevi recursive (özyineli) bir süreç başlatırsınız, yani her alt süreçten geri dönebilmek için, sürecin geri dönüş noktası (yordamın enson çağırıldığı konuma karşılık gelen bellek adresi) yığına kaydedilir ve LIFO (Last in First out) düzeniyle geri boşaltılır.
Bu tarz birşeye ihtiyaç duyduğumuzda OnChange olayı boşaltılırsa yukarıdaki gibi bir zincirleme reaksiyon başlamayacaktır. İşimiz bittiğinde de OnChange olayını eski haline geri çevirmeyi unutmamalıyız. Olayın içini boşaltmak için nil değerini kullanıyoruz. Aşağıda bir örnek yer alıyor.
procedure TForm1.Edit1Change(sender:Tobject); begin // OnChange olayinin ici bosaltiliyor Edit1.OnChange := NIL; // Edit1'in icerigini degistiren kodlar burada // OnChange olayi yeniden yukleniyor Edit1.OnChange := Edit1Change; end;
onchange (8), onchange nedir (3), acces metin kutusunun içeriğini değiştirme (1), delphi onchange olayı (1), delphi tedit içeriğini ini dosyasına (1), delphi tedit olayları (1), delphi web içeriğini okuma (1), live(\onchecked (1), metin kutusunda onchange (1), on change nedir (1), onchange karşılığı (1), onchange nedir delphi (1), delphi onchange ne demek (1), delphi edit1 boş alan uyarısı (1), access metin kutusu onchange (1)
Turkish
English
Chinese
