Perşembe, Eylül 07, 2006

Delphi ThreadButton Component

Tekrar Merhaba,
TButton, TBitBtn, TCheckBox, TRadioButton componentleri, herkesçe bilindiği gibi OnClick event'i vardır.
Buton'a basıldığında butonun arkasındaki kod çalışır.
Ancak, button işini bitirene kadar beklemek zorundayız.
Bunun önüne geçebiliriz, şöyleki:
OnClick event'ini Thread ile çalıştırırsak, button işini bitirene kadar beklememize gerek yok.
Başlatıp, diğer taraftan işimize devam edebiliriz.
Arka planda çalışacak kodlara bazı örnekler:
  • Veri tabanında uzun süren bir Update/Insert/Delete çalıştırmak.
  • Uzun süren bir matematik işlemi.
  • Bir dosya oluşturmak.
Ancak dikkat etmemiz gereken bişey var burada.
OnClick event'ine görsel bişey koymamamız gerekir, yoksa program kilitlenebilir.
Bunun nedeni ise, hem Thread hem de MainThread (Threadsiz program) aynı nesneye erişmeye çalışabilir.
Burada örnek olarak TButton class'ı için bu işlemi oluşturacağız, aynı yöntem kullanılarak diğer button grupları için de yapılabilir.

Nasıl yapıldığı hakkında daha fazla bilgi için http://yusufcelik.googlepages.com/threadbutton adresinden kaynak kod dahil olmak üzere bilgi alabilirsiniz.

Thread'ler hakkında daha fazla bilgi için
http://www.midnightbeach.com/jon/pubs/MsgWaits/MsgWaits.html adresinden öğrenebilirsiniz.
Kolay gelsin...
Yusuf ÇELİK

Hiç yorum yok: