thread kullanmadan ...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

thread kullanmadan ...

Mesaj gönderen cozturk »

Sürekli bir döngü var . içinde Application.ProcessMessages kullanıyorum. bu sayede formu rahatça sürüklemek mümkün.

Ancak form sürüklenirken döngüde bazı aksamalar kesintiler oluyor. Thread kullanmadan bunu nasıl gerçekleştirebilirim? timer kullanamam. sürekli çalışıyor.
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

Application.prosesmesaj ile bir nebzede olsa uygulamayı rahatlatırsın ancak bu suni bir rahatlama olur.

Eş zamanlı yürütülebilirlik özelliği olmayıp, bir satır ya da kmut icrasından sonra kullandığın prosesmesaj komutu ile biriken windows mesajlarının senin uygulaman için işlemesine olanak tanırsın o kadar. Ve bu tip kullanımda öncelik ilgili fonksiyona verilir. İlgili fonksion işini bitirse proses mesaj edersen o zaman uygulama diğer işlemleri yerine getirir ta ki ilgili fonksiyona tekrar girene kadar.

Senin işini tam olarak çözecek olan THREAD dir. Bu hem fonksiyonun hem de uygulamamın eşit (ya da seinbelirleyeceğin bir ağırlıkta) çalışmasına olanak tanıyacaktır. Başlangıçta karmaşık gibi gelsede, THREAD kullanımı basit ve çok kere hayat kurtarmaktadır.

Çok uzun rporların basımından, büyük sayıdaki seri verilerin kaydına, soket uygulamalarında vs. işlemlerde kullanılır.

Ayrıca, THREAD sadece senin uygulaman ile sınırlı kalmayıp diğer windows üstünde çalışan uygulamalar ile eş zamanlı çalışacaktır, böylelikle diğer uygulamaları sekteye uğratmamış olacaksın.

Şimdi elbette bir örnek ile bu yazıyı pekiştirmek gerekir, ancak vaktim olmadığından bir örnek sunamıyorum. Ama eminim konuya vakıf olan arkadaşlarımız senin için güzel örnekler vereceklerdir.

Bilgi için linkler:
1. http://community.borland.com/article/0, ... 11,00.html
2. viewtopic.php?t=13515 (ancak burada belirtilen link çalışmıyor linki şuraya taşımışlar http://www.eonclash.com/Tutorials/Multi ... 1/ToC.html)
.
.
.


Saygılar.
Cevapla