![]() |
|
TThread.Synchronize çalışmama sorunu - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: TThread.Synchronize çalışmama sorunu (/showthread.php?tid=7462) |
TThread.Synchronize çalışmama sorunu - muratmutlu - 06-10-2023 Merhaba. Bizim bir programımız var. Bu programda her modül kendi ekran dizaynını yapıp hazırlıyor ve ana programda bunları gerekli yerlerde dllden yükleyerek gösteriyoruz. Buraya kadar herhangi bir sorun yaşamadım ancak şöyle bir sorunla karşılaştım: TThread.CreateAnonymousThread( procedure begin TThread.Sleep(1000); TThread.Synchronize(nil, procedure begin Button1.Caption := Random(1000).ToString; end); end).Start; Yukarıdaki kod herhangi bir exe de çalışırken dll kısmında ise sadece Synchronize ye kadar olan kısım çalışıyor fakat Synchronize inin içindeki kod çalışmıyor. İşin garibi debug ettiğim zaman TThread.Synchronize satırına geliyor ama içine bir türlü girmiyor. Bu sorunu çözmek için TThread.Synchronize yerine TThread.Queue denedim olmadı, TTask denedim yine olmadı. Burada Synchronize nin içindeki kodun bir önemi yok. Oradaki kodu değiştirsek bile hata da vermiyor ama çalışmıyor da. Thread ler konusuna çok hakim değilim. Acaba nerede hata yapıyor olabilirim ? Cvp: TThread.Synchronize çalışmama sorunu - cinarbil - 06-10-2023 (06-10-2023, Saat: 16:31)muratmutlu Adlı Kullanıcıdan Alıntı: Merhaba.Tuğrul beyin bu konuda makalesi var http://www.tugrulhelvaci.com/?p=126 incelemenizde fayda olabilir. TThread.Synchronize çalışmama sorunu - yhackup - 10-10-2023 TThread.Queue olması lazım aslında çok sık kullanırım. (10-10-2023, Saat: 09:32)yhackup Adlı Kullanıcıdan Alıntı: TThread.Queue olması lazım aslında çok sık kullanırım. Doğru çalışıyor. TThread.Synchronize çalışmama sorunu - Tuğrul HELVACI - 10-10-2023 Mümkün mertebe TThread.Synchronize kullanmayın; onun yerine TThread.Queue kullanın. Aksi taktirde, deadlock'a yakalanmanız olasıdır. Detaylarını başka post'larda verdiğim için burada detayına girmiyorum. |