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 (10), onchange nedir (8), delphi edit boşaltma (2), delphi edit türkçe (2), android edit text onchange (1), edit1 onchange (1), editin onchange olayını iptal etmek (1), onchange ile (1), onchange nedir delphi (1), delphide editlerin içini boşaltma (1), delphi onchange nedir (1), delphi on change olayını kodla (1), delphi editlerin içini boşaltmak (1), delphi editleri boşaltma (1), delphi edit1 Text replace (1)
Turkish
English
Chinese
