Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Touch Screen hakkında yardım
#1
Merhaba arkadaşlar 

Şöyle bir problemim var acaba aranızda uğraşan yada tavsiye verebilecek var mı;

Bir tane kiosk uygulamam var. Bu uygulama sayesinde abone kartlarına elektrik su gaz yüklenir. Uygulama kiosk şeklinde çalışır ve touch screen kullanmaktadır. İlk adımda abone kart okuyucuya koyunca otomatik olarak kart okur ve aralarda ekranda formlar gösterip mesajlar görünmektedir. Fakat touch screende bazı sabırsız aboneler geçişlerinde ekrana basmaya çalışıyorlar yani daha ana ekran gelmedikçe ve böylece program yanıt vermesini bekleyin falan hata vererek kapanabiliyor. Sorum şu ; bu geçişler arasında touch screen işlevseliği kapatabilir miyiz delphi üzerinde yani aboneler tıklasa da program algılamayacak şeklinde olacaktır. Çok şey denedim mouse klavye servis dışı bırakıp tekrar aktifleştirme, formlarda enable false gibi durumlar ama nafile pek çözüm olmuyor. Sizin önerebileceğiniz bir çözüm varsa seve seve denerim.

Teşekkürler
Cevapla
#2
Merhaba;
Dokunmatik ekranı, klavyeyi veya fareyi devre dışı bırakmaya çalışmak yerine, ana thread'de uzun süren işlemler yapmayan ve dolayısıyla sürekli yanıt verebilir bir uygulama yazmaya çalışmak doğru olacaktır. Sanırım kartın okunması/yazılması gibi işlemler vakit alıyor ve bu işlemler devam ederken kullanıcı tıkladığında uygulamanız yanıt veremez hale geliyor.
Ana thread'de yapılan ve uzun süren işlemleri farklı bir thread'e taşımak doğru çözüm olacaktır bence.
Cevapla
#3
Teşekkür ederim

Farklı threadlar üzerinde genel olarak işler yapılmaktadır create free olan yerleri çok dikkat edildi fakat onu bir türlü geçemedim aynen dediğiniz gibi kart okurken mesaj ekranda var lütfen bekleyiniz kartınız okunuyor falan o zamanda sabırsızlar basa basa bu da çok böyle parmaklarla bastıklarında oluyor bikaç defa basılırsa bişey olmuyor benim düşündüğüm bir şekilde disable enable yapabilmesi ama pek bişey bulamadım. İnternette te bir kaç yer var o da c# CE6.0 içindir.

Teşekkürler
Cevapla
#4
Merhaba, öncelikle ana thread’i bloklamayacak bir çözüm olarak uzun süren işlemlerin bir başka thread’de yapılmasını öneriyorum. Uzun süren iş arka planda bir thread olarak işletilirken önde modal bir form kullanıcının karşısına çıkartılabilir. Yada, BlockInput Api’si ile klavye ve mouse’u kilitleyebilirsiniz. Yada, PeekMessage Apisi ile kullanıcının bastığı mouse ve klavye mesajlarını silebilirsiniz. (WM_KEYFIRST, WM_KEYLAST, WM_MOUSEFIRST, WM_MOUSELAST ve PM_REMOVE’u incelemenizi öneririm)
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#5
Merhaba,

Bu tarz işlemler için yan thread içerisinde ekrana sizin belirleyeceğiniz bir "loading" ekranı oluşturarak verilebilir. Ekranda yapılan işlemin süresi, ne yapıldığı bilgisini de sunabilirsiniz.
Cevapla
#6
Kiosk uygulamasi ise zaten form fullekrandir ve Formx.Enabled:=False; en basit çözüm..??
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#7
Selamlar
Bende aynı şekilde, yazmış olduğum kiosk uygulamasında, sabırsız kullanııcı sorununu çözmek için işlem başladığı anda diğer kullanabilecekleri butonları disable ediyorum. Arka tarafta, thread işlemi bitince tekrar butonları aktif hale getiriyorum. Böylelikle diğer işlemleri yapmalarına mani oldum.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#8
Arkadaşlar teşekkür ederim tavsiyelerinize deneyeceğim sonuç olarak yada başka bir çözüm bulursam paylaşacağım sizinle
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  .Net MAUI Hakkında rmzgenius 4 1.150 21-11-2022, Saat: 09:27
Son Yorum: RAD Coder
  Yazılım Geliştirmeye İlk Adım Hakkında mahone 5 1.758 30-03-2022, Saat: 14:10
Son Yorum: RAD Coder
  Yabancı dil sorunu hakkında bir karşılaştırma. mrmarman 1 692 19-11-2021, Saat: 12:01
Son Yorum: csunguray
  eticaret şirket hakkında puddy 5 2.504 14-05-2021, Saat: 00:22
Son Yorum: enigma
  Windows 7 Siyah Ekran black screen Hatası Çözümü Javs 1 1.678 06-01-2020, Saat: 20:50
Son Yorum: Javs



Konuyu Okuyanlar: 1 Ziyaretçi