Delphi Connection Kopma Durumu Hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 04:38
Konum: İstanbul

Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen adelphiforumz » 09 Tem 2014 08:51

S.A.

Bir uygulamadaki ADOConnection bağlantısı eğer makina uyku moduna geçerse yada network geçici bir süre kesilip tekrar gelir ise kopuyor.
uygulamada bulunan DataModule içerisine TApplicationEvents nesnesi ekliyorum ve OnException Events içerisinde E.ClassType nesnesinin
kontrollerini yapaak bağlantı kopmuş ise yeniden bağlantıyı aşağıdaki şekilde tekrarlıyorum
ADOConn.Close;
ADOConn.Connected := False;
ADOConn.Connected := True;

bağlantı bir türlü başarılı olamıyor.

Fakat ekran üzerine bir Database bağlantısını yenilemek için buton ekliyorum ve butonun altına yukarıdaki aynı ifadeleri yazdığımda bağlantı bu sefer başarılı oluyor.

Butonun altındaki ifade ile Application Event altında aynı kod neden farklı şekilde çalışır yada bu bağlantı kopma sorununu nasıl çözebilirim

Teşekkürler
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana

ikra
Üye
Mesajlar: 860
Kayıt: 28 Nis 2005 12:26
Konum: Simdilik Topragin Üstü

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen ikra » 09 Tem 2014 02:20

baglanti kopma sorununu sistemde aygitlar/cihazlar (türkce isletim sistemim yok, bilemiyorum tam adini) Enerji ayarlari kismindan Enternetkartinin uyku moduna alinmamasini saglayarak cözebilirsin.
kıdemsiz üye

tayipk
Üye
Mesajlar: 283
Kayıt: 27 Kas 2013 11:32

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen tayipk » 09 Tem 2014 02:25

Fakat ekran üzerine bir Database bağlantısını yenilemek için buton ekliyorum ve butonun altına yukarıdaki aynı ifadeleri yazdığımda bağlantı bu sefer başarılı oluyor.

Butonun altındaki ifade ile Application Event altında aynı kod neden farklı şekilde çalışır yada bu bağlantı kopma sorununu nasıl çözebilirim
o zaman o butonun visible özelliğii FALSE yap Application Event Kısmınada Button1.click yap olsun bitsin :)
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.

thelvaci
Kıdemli Üye
Mesajlar: 769
Kayıt: 11 Tem 2010 06:17
Konum: Istanbul
İletişim:

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen thelvaci » 09 Tem 2014 02:31

Bir Exception oluşmuyor bu yüzden OnException kısmına düşmüyor olabilir mi ;)

Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 04:38
Konum: İstanbul

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen adelphiforumz » 09 Tem 2014 04:00

thelvaci yazdı:Bir Exception oluşmuyor bu yüzden OnException kısmına düşmüyor olabilir mi ;)
OnException eventine düştüğünü biliyorum çünkü oluşan hata eventlerini bir txt dosyasına yazıyorum.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana

Kullanıcı avatarı
husonet
Admin
Mesajlar: 2961
Kayıt: 25 Haz 2003 01:14
Konum: İstanbul
İletişim:

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen husonet » 10 Tem 2014 10:34

yaşanan olay çok hızlı gerçekleşebiliyor olabilir yani network ten kaynaklanan bir olay yaşanıyorsa kopma aşamasını yani network tekrar ayağa kalkmadan bağlantı yapmak istiyor olabilirsin hataya düşünce sleep le filan bekleyip tekrar bağlanabilirsin yada arada ping ile kontrol edip bağlantı olumluysa bu işlemi yapabilirsin.

kolay gelsin....

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3044
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen sabanakman » 11 Tem 2014 09:54

ApplicationEvents sınıfının onException olayında bulunan E parametresi, Exception'dan türeyen bir sınıftır. Hangi sınıf hata üretmiş buradan elde edemezsiniz, bu hangi hata sınıfı üretilmiş onu elde etmek içindir. Kısacası E nesnesi TADOConnection değil (TOLEException gibi) TException'dan türemiş bir nesnedir. Bu türden kopmaları telafi etmek için kullandığınız yapıyı bilmediğim için biraz yüzeysel bir tavsiyem olacak ama sağlıklı bir çözüm olmayabilir.
-Kopma durumuna özel oluşan hata mesajı ele alınarak o anda açık olan ADOConnection nesneleri kapatılıp açılabilir.
veya
-ADOConnection'dan türeyen başka bir bileşen yazarak istediğiniz yamayı şekillendirebilirsiniz hatta class helper ile de bu yama yapılabilir mi, üzerinde çalışmak lazım.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 04:43
İletişim:

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen barisatalay » 11 Tem 2014 10:00

@husonet'in de dediği gibi çok hızlı gerçekleşme ihtimaline karşı aklıma biraz öğrenci mantığı olacak birşey geldi.

ApplicationEvents sınıfının onException olayına girip E parametresinin mesajını Pos ettir ve içerisinde örnek veriyorum bağlantı koptuğunda 'Connection is closed' diyor sa o kelmeleri Pos ile kontrol ettir eğer var ise;
Bir Thread başlat ve bağlantı hangi koşullarda sağlanacak ise o koşullar oluşana kadar Sonsuz döngü ile dönsün. Eğer bağlantı şartları oluşursa connectionu tekrar bağla ve threadı sonsuz döngüden çıkarabilirsin.

Falan filan düşündükçe daha farklı şeylerde gelebilir akıla olaya son mesajları okuyarak girdiğim için bi yerde mantık hatası yaptıysam özür ola.

ikra
Üye
Mesajlar: 860
Kayıt: 28 Nis 2005 12:26
Konum: Simdilik Topragin Üstü

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen ikra » 11 Tem 2014 01:34

baglantinin kopmasinin sebebi büyük ihtimal bilgisayarin islem disi kaldiginda network kartini tasarruf moduna almasindan kaynaklaniyor.
kıdemsiz üye

Kullanıcı avatarı
muratcelik64
Üye
Mesajlar: 17
Kayıt: 16 Tem 2014 04:07

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen muratcelik64 » 17 Tem 2014 09:56

Butona bastığında bağlantı sağlanıyor, çünkü olayı sen tetikliyorsun. Yani bağlantı varsa da yoksa da ADOConn. kapanıp açılıyor.
Diğer durumda ise;
Program bağlantının koptuğunu bilmiyor.
Yani sen program içerisinde devamlı olarak bağlantı varmı-yokmu diye kontrol ettirmelisin.
Bağlantı koptuğunda yazdığın kod devreye girecektir.
Bağlantıyı devamlı olarak kontrol ettirmek terminallere yük getirir.
Manuel olarak bağlantı daha sağlıklıdır.

nodetail
Üye
Mesajlar: 53
Kayıt: 04 Eki 2008 09:30

Re: Delphi Connection Kopma Durumu Hakkında

Mesaj gönderen nodetail » 01 Kas 2018 08:36

Merhaba bu sorun aşılabildi mi yada nasıl aşıldı bilgi verebilir misiniz.

Cevapla