Yorumları: 1.386
Konuları: 75
Kayıt Tarihi: 20-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Delphi 10.2
- Delphi 7
- Lazarus / FPC
Rep Puanı: 3.857
Uzman
Merhaba arkadaşlar,
FMX projemde Datasnap kullanıp FB database e connection sağlıyorum. Windows da çok bir problem olmuyor. Fakat Mobil kısmında en ufak bir network probleminde uygulama kapanıyor.
SQLConnection kullanıyorum DS bağlantısı için.
Uygulamanın ilk açılışında ve ileriki safhalarda DS bağlantısının var olup olmadığını yok ise bir daha denemesini (Post, Update delete vs..) denemeden de fayda yok ise demekki komple hat yok ise; Bağlantı sağlanamadı hatasını nasıl yakalar ve gösterebilirim? Hani event'da yakalarım bunu? Sizler hangi yöntemi kullanıyorsunuz?
Şimdiden teşekkürler.
// Bilgi paylaştıkça çoğalır..
Yorumları: 733
Konuları: 16
Kayıt Tarihi: 22-07-2016
Aktif Kullandığınız Delphi Sürümü:
- Delphi 12
- Delphi 11
- Delphi 10.4
- Delphi 10.3
- Delphi 10.2
- Delphi 10.1
- Delphi 10
Rep Puanı: 3.855
Uzman
25-11-2022, Saat: 10:01
(Son Düzenleme: 25-11-2022, Saat: 10:02, Düzenleyen: RAD Coder.)
Merhaba,
Mobil uygulama çalışma prensibinde, hiçbir connection sürekli açık kalmaz. Kalmamalı.
Client (mobil) sunucuya istek gönderdiği anda connection açılır, sonuç dönünce kapanır. REST bileşenleri de bu prensiple çalışır.
Mobil uygulama yaşam döngüsüne bakarsanız; uygulama arka plana alındığında, aktif işleri geçici süreliğine askıya alınır. Uzun süre arka planda kalırsa, OS tarafından uygulama sonlandırılır.
Geçici çözüm; IFMXApplicationEventService'ini yakalayıp, duruma göre bağlantıyı yeniden sağlamalısınız.
Kalıcı çözüm; Android tarafı için servis, iOS tarafı için UIBackgroundModes -- > Fetch
Fakat tekrarlamakta fayda var; connection sürekli bağlı kalmamalıdır.
Begin : = end / 2;
Yorumları: 1.386
Konuları: 75
Kayıt Tarihi: 20-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Delphi 10.2
- Delphi 7
- Lazarus / FPC
Rep Puanı: 3.857
Uzman
Hocam zaten sürekli açık değil DB Connection.
Fakat ben Open yada post işleminden önce connection kontrolünü nasıl yapabilirim. sonumu orada. SQlconnection ve ClientDataSet kullanıyorum. Fakat kontrolünü yapamadım.
// Bilgi paylaştıkça çoğalır..
Yorumları: 1.668
Konuları: 20
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 19.064
Üstad
Ben daima şunu uyguluyorum.
Bir sınıf yazıyorum (class). Bu sınıf nesnenin private kısmında bir Connect function yer alıyor . OnConnectionStat event de eklerim ki projede bağlantı durum monitörü olarak statusbarda kullanırım.
Bu sınıf benim db'ye erişim için tüm property, method ne varsabbarındırsığından, her işleme ait procedure function'un ilk satırı connect(); if not FState then exit şeklinde bir kontrol yer alıyor.
Bunu size izah etmek için örnek proje yazman gerekir belki ama siz bunu rahatlıkla halledersiniz.
Saygılarımla
Muharrem ARMAN