Jump to content
uniGUI Discussion Forums

İbrahim TELCİ

uniGUI Subscriber
  • Content Count

    14
  • Joined

  • Last visited

  • Days Won

    1

İbrahim TELCİ last won the day on May 30

İbrahim TELCİ had the most liked content!

Community Reputation

2 Neutral

About İbrahim TELCİ

  • Rank
    Newbie
  1. İbrahim TELCİ

    64 IIS 64 Bit Dll Nasıl Yayınlanır

    Merhabalar. projemi 64 bit dll olarak build edip. IIS te yayınlamak istiyorum. Denemelerim başarısız oldu. Formum açılıyor ama veritabanı bağlantısı kuramıyorum. Form üzerindeki nesneler gelmiyor. Geliştirici klavuzundaki yönergelere göre yaptım. 64 bit için farklı bir ayar var mı?
  2. İbrahim TELCİ

    Oturum (Session) Sayısının açık olandan fazla olması

    Çok garip bir durum ServerModule üzerinde çalışan bir Threadtimer içinde oturumların listesini alıp veritabanında değişiklik olan oturumlara güncelle diye bir değişkeni tetikliyorum. S := UniServerModule.SessionManager.Sessions; // YENİ ÇAĞRI LİSTESİNİ DÖNGÜYE SOK while not Q_Yeni_Cagri.Eof do Begin //UniServerModule.Logger.AddLog('YENİ ÇAĞRI VAR ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '); // eğer yeni çağrı bulunur ise aktif sessionların listesini al //S.Lock; try //Aktif_Sessions.Filtered:=false; //Aktif_Sessions.EmptyDataSet; // SESSİON SAYISI KADAR DÖN TÜM SESSİONLARI DATA SETE AT for I := 0 to S.SessionList.Count - 1 do begin U := S.SessionList[I]; if ((U.UniMainModule as TM_Module).EKRAN_ID<>'Close') AND ((U.UniMainModule as TM_Module).EKRAN_ID=Q_Yeni_Cagri.FieldByName('EKRAN_ID').AsString) then Begin (U.UniMainModule as TM_Module).CAGRI_ID:=Q_Yeni_Cagri.FieldByName('CAGRI_ID').AsInteger ; End ; end; finally //S.Unlock; // ... and finally don't forget to release lock! //UniServerModule.Logger.AddLog('1-Oturum listesi alındı.' ); end; Q_Yeni_Cagri.next; End; Bu şekilde timeouta düşen oturumlar kapanıyor. Ama yukarıdaki gibi oturumdaki değişkeni U:=UniServerModule.GetSession(Aktif_Sessions.FieldByName('SESSION_ID').AsString); (U.UniMainModule as TM_Module).CAGRI_ID:=Q_Yeni_Cagri.FieldByName('CAGRI_ID').AsInteger; bu şekilde aktarınca. Oturumu "Uniapplication.terminate" yapsam bile sürekli açık kalıyor. Şimdilik böyle çözdüm. İşin aslınıda çözemedim.
  3. İbrahim TELCİ

    Oturum (Session) Sayısının açık olandan fazla olması

    ThreadTimer nesnesi kullanıyorum. Aynısı geçerlimi. "Unisession.terminate" oturumu tamamen kapatır mı?
  4. İbrahim TELCİ

    Oturum (Session) Sayısının açık olandan fazla olması

    ServerModule üzerindeki SessionTimeout değeri.
  5. İbrahim TELCİ

    Oturum (Session) Sayısının açık olandan fazla olması

    1 Timer interval 1 saniye olarak ayarlı. Yalnız tarayıcıyı yenilediğimde veya kapattığımda oturumun timeout süresi dolunca kapanması gerekmez mi?
  6. İbrahim TELCİ

    Oturum (Session) Sayısının açık olandan fazla olması

    Evet kullanıyorum.
  7. Merhabalar. Uygulamamda aktif olarak 120 açık oturum var. Timeout sürem 30000 (30 sn.) yalnız açık oturum sayısı 172 görünüyor 24 saatlik kullanım sonucu şu an durum bu. Sayfa yenilense veya kapatılsa açık oturumun 30 sn sonra düşmesi gerek ama neden olduğunu anlayamadım. Bunlar üzerinde timer olan bilgilendirme ekranları olarak kullanılıyor. Herhangibir kullanıcı etkileşimi yok. Server module üzerinde bir UniThreadTimer var veritabanının kontrol ederek değişiklik olan sessiona veri gönderiyor.Session üzerindeki bir timerda bu değişikliği takip ediyorç Çalışma mantığı bu. Oturumların kilitli kalma durumu olabilir mi? IIS üzerinden dll olarak yayınladım.
  8. İbrahim TELCİ

    Kayan Yazı Bilgilendirme Çubuğu

    Bilgilendirme için teşekkürler. Aşağıdaki CSS ile olayı çözdüm. Gayet sağlıklı çalışıyor. Belki başka birilerinin de işine yarar. @keyframes slide { from { left:100%; transform: translate(0, 0); } to { left: -100%; transform: translate(-100%, 0); } } @-webkit-keyframes slide { from { left:100%; transform: translate(0, 0); } to { left: -100%; transform: translate(-100%, 0); } } .marquee { overflow:hidden; position:absolute; white-space: nowrap; animation-name: slide; animation-duration: 50s; animation-timing-function: linear; animation-iteration-count: infinite; -webkit-animation-name: slide; -webkit-animation-duration: 50s; -webkit-animation-timing-function:linear; -webkit-animation-iteration-count: infinite; }
  9. İbrahim TELCİ

    Kayan Yazı Bilgilendirme Çubuğu

    Birkaç satır ufak kod haricinde CSS hiç kullanmadım örnek bir uygulama veya kod göndermeniz mümkünmü?
  10. İbrahim TELCİ

    Kayan Yazı Bilgilendirme Çubuğu

    Merhabalar. Formun alt tarafında kayan yazı ile bir bilgilendirme çubuğu oluşturmak istiyorum. Bunu Timer ile yaptığımda pek akışkan olmuyor. Donmalar oluyor. Farklı bir yol ile nasıl yapabilirim. Öneriniz var mı? Cevaplarınız için şimdiden teşekkürler.
  11. İbrahim TELCİ

    Thread içerisinden Veritabanı Değişiklik Kontrolü

    Cevaplar için çok teşekkür ediyorum. Benim için gayet faydalı dönüşler oldu. Şu an ServerModule üzerinde çalışan tek bir UniThreadTimer ile yükü epeyce azaltmış oldum. Her oturumun veritabanından aldığı kendine ait bir ID si var. Oturumları tarayarak değişiklik olan oturumdaki yerel bir değişkene true değeri gönderiyorum. Böylelikle oturumlar sadece kendilerine ait bir değişiklik varsa veri tabanına bağlanıp güncel veriyi çekiyorlar. Sorgu sayısında epeyce bir azalma oldu. yaklaşık 200/1 oranında
  12. İbrahim TELCİ

    Thread içerisinden Veritabanı Değişiklik Kontrolü

    ServerModule üzerinde çalıştıracağım bir thread ile kontrol etsem ve değişiklik var ise bunu global bir değişkene aktarsam. diğer ekranlar bu değişkeni kontrol ederek güncelleme yapsalar bu doğru bir yaklaşım olur mu? Sever module üzerinde çalışacak bir thread sistemi çok yorar mı? Yoksa ayrıca bir uygulamamı hazırlamam gerekiyor. Winsocket uygulaması sadece bir değişikliği kontrol etmek için daha uğraşlı gibi geliyor bana. Birde sadece ilişkili sessiona özel bir mesaj
  13. İbrahim TELCİ

    Thread içerisinden Veritabanı Değişiklik Kontrolü

    Yönlendirmen için teşekkür ediyorum. Yalnız herhangi bir link göremedim cevabında. Unuttun galiba bağlantı koymayı
  14. Merhabalar. Yeni bir UniGUI kullanıcısıyım. Trial sürümde gerekli denemelerimi yaptıktan sonra bugün lisanslı kullanıcılar arasında yerimi aldım. Birkaç sorum olacaktı? MSSql veritabanı kullanıyorum. UniDAC veritabanı nesnelerini kullanıyorum. Nesneleri MainForm üzerine yerleştirdim. 1 Connection nesnem 1 adette Query nesnem var. Sayfa açıldığında ThreadTimer nesnesi içerisinden query ile vertabanını ayarlanan sürede (2 sn) kontrol ediyorum bir değişiklik var ise ekrandaki verileri yeniliyorum. Bu çalışma mantığı doğumudur? Bağlantı nesnelerini ThreadTimer nesnesi içerisinde her sorguda oluşturmam daha mı doğru olur? Birde forumda yaptığım araştırmalarda bağlantı nesnelerinin MainModule içerisine yerleştirmenin daha doğru olacağı söyleniyor ama MainModule içerisindeki nesnelere Threadtimer içerisinden erişmeye çalıştığımda hata alıyorum. Bu uygulama yaklaşık 200 ekran üzerinde aynı anda açık olacaktır. Bu durumda dikkat etmem gereken kritik noktalar varmıdır? SessionRestrict =srOnePerIP olarak ayarlı. Bunlar bilgilendirme ekranları olarak kullanılacak. Herhangi bir kullanıcı etkileşimi yok. Network koptuğunda bu 200 ekran yeniden bağlanmaya çalıştığında session hatası alırmıyım. HyperTerminal mi yoksa IIS mi kullanmalıyım hangisi daha hızlı ve sağlıklı olur?
×