Kilitlenmeyen animasyon nasıl yapılır?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Kilitlenmeyen animasyon nasıl yapılır?

Mesaj gönderen hicker »

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?
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

uzun süren işlemden kastın tablo üzerinde bir döngü ise

table1.next; den sonra

Kod: Tümünü seç

Application.ProcessMessages;
komutunu verirsen sorun düzelir.
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Mesaj gönderen hicker »

hayır malesef... sorunum çok kayıtlı bir tablo açılırken oluyor.
table1.open; kodundan sonra 10-15 saniye kadar beklenmesi gerekiyor.
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

maşallah nasıl bir tablo hacam o öyle 15 sn de açılıyor.table1.open dan önce veya sonra denedinizmi gönderdiğim o kodu?
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Mesaj gönderen hicker »

ö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...
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

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.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

TAnimate

Mesaj gönderen sabanakman »

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. - .
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

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.
Cevapla