31-10-2018, Saat: 18:14
(Son Düzenleme: 31-10-2018, Saat: 18:15, Düzenleyen: Mr.Developer.)
(31-10-2018, Saat: 17:42)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Hatalı bir kullanım. Ana thread haricindeki bir thread içinden ana thread üyelerine erişim sıkıntılıdır. Çok kanallılık zor değildir, ancak tahmin edildiği kadar kolay da değildir. Senkronizasyon bu işin en dikkat edilmesi gereken can damarıdır.
hatası ya da eksiği mutlaka vardır tabiki ilk defa böyle bir şey denedim zamanla daha iyi kavrayacağımdır.
(31-10-2018, Saat: 17:49)Halil Han Badem Adlı Kullanıcıdan Alıntı:(31-10-2018, Saat: 15:14)Mr.Developer Adlı Kullanıcıdan Alıntı: iyi günler,
Thread kullanımını işimi görecek şekilde çözdüm ve benim gibi bir başkasına yardımı olur diye paylaşmak istiyorum ;
Bir video vasıtası ile çözdüm ve oradaki kodlar ;
Type kısmına ;
type You Thread1 = class(TThread) protected procedure Execute ; override; end;
Public kısmına ;
public workerthread : Thread1 ;
ve oluşturduğumuz procedure'ün koduna yenileme kodunu ekliyoruz ;
procedure Thread1.execute ; begin Form1.UniQuery1.Refresh ; end;
( dikkat edilmesi gereken nokta ; procedure bir forma bağlı olmadığındanmıdır bilmem ama kod Query'nin bulunduğu formName'i ile yazılması gerektıği. )
Thread'ın işlemleri başlatması için gerekli kodu ben formshow ve durdurmak için onshow event'ına yazdım ;
Onshow kısmına ;
workerthread := Thread1.create(false);
OnClose kısmına ;
workerthread := Thread1.create(true);
gerisi sizin ne amaçla kullanacağınıza kalmış![]()
ben buldum denedim uyguladım işime yaradı ve paylaşıyorum![]()
Ne nedir ? gibisinden sorulara cevap verebilecek bilgim olmadığını belirteyim.
Ve ek olarak merak ettiğim husus ;
Thread çalışmaya başladığında ne kadar sürede bu işlemleri gerçekleştiriyor ?
bilen birisinin cevaplamasını isterim.
Thread işlemleri hızlandırmaz. Sadece ana thread uzerindeki yükü alır. Normal işlem süresi bittiğinde thread o zaman sonucu sana verir.
Daha açıklayıcı olmak gerekir ise thread ile normal bir işlemin süresini azaltmasın. Sadece bilgisayar bir kanaldan birçok işi yaparak yavaşlamak yerine başka ek bir kanaldan yaparak işlemleri kendi işlem süresince tamamlar. Belli bir tanımı yoktur.
anladım hocam açıklama için teşekkür ederim.

