yazdığım program uzak bir veritabanına (ORACLE) bağlı olarak çalışıyor. istenen şu: ağ uzerinde programdan birden fazla kopyası olacak. program sürekli açık olacak ve o an bağlantının olup olmadığı bilgisinin ekranın altında görünmesi isteniyor. timer kullanarak belirli aralıklarla bağlantının olup olmadığını anlıyabiliyorum ama timer çalıştığı anda 2-3 sn için program tepki vermez hale geliyor. tabiki bu durumda bilgi girişi askıya alınmış oluyor. nasıl bişiler yapmalıyımki bu tarama işlemini kullanıcıya hisseettirmiyeyim. thread kullanmayı denedim ama thread içinde adoconnection'a müdahale etmeme müsade etmedi. yanlış bişilermi yapıyorum ?
Ado 'u hic kullanmadim fakat benzer durum benim de basima geldi. Program arka planda merkeze baglanip yeni versiyon var mi diye kontrol etmesi gerekiyordu.
Thread icinde olsa bile eger o sirada kullanici lokalde veritabani uzerinde islem yapiyor is baglanti isi sonuclanana kadar bu islemler askiya aliniyordu. Farkli database baglantilarinin es zamanli olarak birbirine engel olmadan calismalari icin Session kullanmak gerekiyor (mus).
Gerci benim iste o da sorun cikartinca Update isleri de zaten yeterince kalabalik isler oldugu icin butun bu update islerini yapacak ayri bir exe yapip duzenli araliklara gizli bir sekilde onu calistirarak problemi astim.
benim de aklıma ilk thread geldi. Olayı ayrı bir thread olarak yaparsan, mevcut işleri engellememiş olursun. Ancak Fahrettin abinin dediği gibi bir durum ortaya çıkar mı bilmiyorum. Bu tip işlemler için genelde ayrı bir thread kullanılıyor.
Ayrıca bu tip durumlarda arada Application.ProcessMessage komutunu vermek işe yarayabiliyor.
dediğim gibi thread kullanmaya çalıştım ama thread içerisinde
form1.adoconnection1.connected:=true
gibi bir ifade kullanamıyorum kullanmak istediğimde bana utanmadan
CoInitialize has not been called
hatası veriyo. bu hatayı gidermenin bir yolu varmı. nede bu hatayı veriyordur. acaba diyorum ayrı bir exe bu işi yapıp dde ile ana programa atsa, gereksiz yere karmaşıklaştırmış mı olurum (yazarken bile karıştı )
NOT : bu arada piknik olayıyla ilgili birşey dememişsin. Tarih nasıl, gelebilir misin? Hatırladığım kadarıyla kaçırdığı için en çok üzülenlerden birisi sendin