Edit’in içeriğini OnChange Olayında Değiştirmek

  08/29/2010, Yazar: Özgür Koca, Kategori: Delphi

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)







1 Puan2 Puan3 Puan4 Puan5 Puan6 Puan7 Puan8 Puan9 Puan10 Puan (1 votes, average: 10,00 out of 10)


Biraz gürültü yapın





Not: Yazdığınız yorum yönetici tarafından onaylandıktan sonra yayınlanacaktır.


  Yorumlara eposta ile abone ol




  • Hakkında | İletişim | Wordpress.org | RSS | Abone Ol

  • (c) 2005-2009 Wordpress Tema: Tankado & Theme by Tankado.com