folder Tahribat.com Forumları
linefolder Delphi - Pascal
linefolder Application.Processmessages ?



Application.Processmessages ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    Application.ProcessMessages' ın thread yapılarından farkı nedir? 

    Asıl yapmak istediğim, google maps' deki gibi arkaplanda interaktif bir harita gibi sürekli sizin hareketlerinize göre yüklenen çok büyük boyutlu bir resim ve sizin bu resim üzerinde işlem yapmanıza bunun engel olmamasını sağlamak istiyorum.

    Multithreading bir yapı kullanıcam fakat delphi' de yeniyim ve karşıma "Application.ProcessMessages" bu çıktı. Bunun normal TThread' lerden farkı nedir? Bunun kullanımı thread kullanımından çok daha basit duruyor, bunu kullanmam durumunda götürüsü ne olur?


    Hello, i am nothing. I come from Neverland.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    ups


    Hello, i am nothing. I come from Neverland.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    Threadle yapman daha doğru.

    Application.ProcessMessages adı üstünde program penceresinin mesaj sırasındaki mesasjların işlenmesini sağlar

    Nedir bu mesajlar? mesela for i:=0 to 99999999 begin .... end; gibi bi komut verirsen iş bitene kadar form erişilmez olur ve bu sırada çizilmez.

    Çünkü windows senin programına çiz emri gönderse de programın tek thread ile çalıştığından senin verdiğin komutu yerine getirmekle meşgulduür

    ama for döngüsü içine application.processmessages koyarsan orada program bi nefes alır, çizim işlerini falan tamamlar. Fakat threadin akıcılığını vermez çünkü yine işin bir kısmının bitmesini beklemek zorundadır.

    Thread kullanırsan ve ekrana çizilecekleri synchronize içinde yaptırırsan program hiç beklemeden çizim işi geldiği anda işleme koyar.


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    HolyOne bunu yazdı

    Threadle yapman daha doğru.

    Application.ProcessMessages adı üstünde program penceresinin mesaj sırasındaki mesasjların işlenmesini sağlar

    Nedir bu mesajlar? mesela for i:=0 to 99999999 begin .... end; gibi bi komut verirsen iş bitene kadar form erişilmez olur ve bu sırada çizilmez.

    Çünkü windows senin programına çiz emri gönderse de programın tek thread ile çalıştığından senin verdiğin komutu yerine getirmekle meşgulduür

    ama for döngüsü içine application.processmessages koyarsan orada program bi nefes alır, çizim işlerini falan tamamlar. Fakat threadin akıcılığını vermez çünkü yine işin bir kısmının bitmesini beklemek zorundadır.

    Thread kullanırsan ve ekrana çizilecekleri synchronize içinde yaptırırsan program hiç beklemeden çizim işi geldiği anda işleme koyar.

    şimdi resmi hem pan edip hem de yüklemeye kalkarsam bunu application.processmessages ile yaparsam takılır, o yüzden thread kullanıyım diyorsun, en basit haliyle, anladım sanırım :)). 


    Hello, i am nothing. I come from Neverland.
Toplam Hit: 1710 Toplam Mesaj: 4