mrb,
uzun süren işlemlerde programın kilitlenmediğinin anlaşılabilmesi açısından bir animasyon oynatmayı istiyorum. flash veya herhangi bir animasyon bileşeni eklediğimde o da programla birlikte normal olarak donuyor. thread ile bişeyler yapmayı denedim ama beceremedim. bu sorunu nasıl çözebilirim? Thread mantığıyla kendi başına çalışan herhangi bir animasyon bileşeni önerebilir misiniz?
Kilitlenmeyen animasyon nasıl yapılır?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
uzun süren işlemden kastın tablo üzerinde bir döngü ise
table1.next; den sonra
komutunu verirsen sorun düzelir.
table1.next; den sonra
Kod: Tümünü seç
Application.ProcessMessages;
öncesi ve sonrasında denedim ama bu tablo açılmaya çalışırken oluşan bekleme süresince programın tepkisiz kalmasını engellemiyor. yani örnek vermek gerekirse:
Kod aşağıdaki gibi olursa tablo açılana dek form tekrar çizilemediği için Label1 üzerindeki değişiklik farkedilmiyor bile.
Label1.Caption:='Lütfen bekleyin...';
Table1.Open;
Lable1.Caption:='';
Kodu aşağıdaki gibi değiştirirsek Table1.Open komutundan önce form tekrar çizildiğinden Label1 başlığında "Lütfen bekleyin" görünüyor.
Label1.Caption:='Lütfen bekleyin...';
Application.ProcessMessages;
Table1.Open;
Lable1.Caption:='';
Fakat bu esnada başka bir programın penceresi formun üzerine gelirse veya form minimize edilmek istenirse, vs.. program yine tepkisiz olduğu için görüntü kilitlenmiş izlenimi veriyor. Üstünde çalıştığım proje için çok da önemli bir sorun değil aslında. Bunun kolay bir yolu varsa diye sormak istedim. Yine de ilgilendiğiniz için çok teşekkür ederim...
Kod aşağıdaki gibi olursa tablo açılana dek form tekrar çizilemediği için Label1 üzerindeki değişiklik farkedilmiyor bile.
Label1.Caption:='Lütfen bekleyin...';
Table1.Open;
Lable1.Caption:='';
Kodu aşağıdaki gibi değiştirirsek Table1.Open komutundan önce form tekrar çizildiğinden Label1 başlığında "Lütfen bekleyin" görünüyor.
Label1.Caption:='Lütfen bekleyin...';
Application.ProcessMessages;
Table1.Open;
Lable1.Caption:='';
Fakat bu esnada başka bir programın penceresi formun üzerine gelirse veya form minimize edilmek istenirse, vs.. program yine tepkisiz olduğu için görüntü kilitlenmiş izlenimi veriyor. Üstünde çalıştığım proje için çok da önemli bir sorun değil aslında. Bunun kolay bir yolu varsa diye sormak istedim. Yine de ilgilendiğiniz için çok teşekkür ederim...
Merhaba,
aklıma ilk gelen, basit bir Çoklu işletim kanalı yöntemi olan TTimer nesnesi ni kullanmak geldi,
Interval 1000msn ayarlayın ve ontimer olay metoduna Application.Processmessage; diyin.
İyi çalışmalar.
aklıma ilk gelen, basit bir Çoklu işletim kanalı yöntemi olan TTimer nesnesi ni kullanmak geldi,
Interval 1000msn ayarlayın ve ontimer olay metoduna Application.Processmessage; diyin.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
TAnimate
Bu iş için Animate bileşenini kullanabilirsin. İstersen belirlediğin bir AVI dosyasını veya sistemde bulunan (dosya kopyalama, arama vs.) AVI lerden kullanabilirsin. Tek yapman gereken yoğun işlem yapan kodlardan önce Animate1.Active:=True yazmak. Buna eklemek istediklerin olursa da kimse sana karışmayacaktır. 

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Mouse iconunu değiştirerek ve ayrıca Gif ressimler kullanmayı denedinmi?
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.