06-10-2023, Saat: 16:31
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:
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 ?
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 ?