Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Çözüldü - edit veya başka nesneye focus olmuyor
#1
Android ve Windows  platformlarının olduğu formumda edit bileşinine focus olmuyor. 
Android testleri Nox emulatör de yapıyorum
 
Yeni buton ekleyerek buton onclick olayına
ed_barcod.SetFocus;
kodu yazarsam edit focus oluyor. 

ama procedure içinde çalışmıyor.

procedure TAnaForm.Bt_ekleClick(Sender: TObject);
begin
sonuc:=barcod_varmi(ed_barcod.Text);

         if (sonuc) then
              begin
             // Dikkat bu  başka bir seri
             Tdialogservice.PreferredMode:=TDialogService.TPreferredMode.Platform;
             TDialogService.MessageDialog('Dikkat Barkod daha önce girilmiş',TmsgDlgType.mtInformation,
             fmx.Dialogs.mbOKCancel,TmsgDlgBtn.mbOK,0,Procedure (const Aresult:TmodalResult)
                 begin
                 case Aresult of
                 mrOk:sonuc:=true;
                 mrCancel:sonuc:=true;
                 end;
                 end)
             end;

if (not sonuc) then grid_satir_ekle;  // barkod daha önce yok yeni ekle

ed_barcod.Text:='' ;// ekleme tamamlanınca barkodu sil yenisine hazır olsun.
ed_barcod.SetFocus;
end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
Android ve Windows'ta farklı çalışması normal çünkü Windows'ta senkron çalışırken Android'de asenkron çalışıyor maalesef. Yani Android'de kullanıcı dialog penceresini kapatmadan bir alttaki satırlar çalışmaya başlıyor:
http://docwiki.embarcadero.com/Libraries...sageDialog

MessageDialog'u çağırdığınız kod içerisinde, Aresult'u kontrol ettiğiniz Procedure içinde SetFocus'u denerseniz çalışır diye tahmin ediyorum. (Başka sorun çıkartır mı bilemiyorum)
There's no place like 127.0.0.1
WWW
Cevapla
#3
(10-03-2020, Saat: 20:49)SimaWB Adlı Kullanıcıdan Alıntı: Android ve Windows'ta farklı çalışması normal çünkü Windows'ta senkron çalışırken Android'de asenkron çalışıyor maalesef. Yani Android'de kullanıcı dialog penceresini kapatmadan bir alttaki satırlar çalışmaya başlıyor:
http://docwiki.embarcadero.com/Libraries...sageDialog

MessageDialog'u çağırdığınız kod içerisinde, Aresult'u kontrol ettiğiniz Procedure içinde SetFocus'u denerseniz çalışır diye tahmin ediyorum. (Başka sorun çıkartır mı bilemiyorum)

@SimaWB verdiğiniz bilgi için teşekkür ederim.  'Aresult'u kontrol ettiğiniz Procedure'  içinde çalıştı.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Edit Memo vb. veri girişin nesnelerinde tümünü seç/kopyala/kes işlemleri hk (FMX) pro_imaj 24 577 8 saat önce
Son Yorum: pro_imaj
  [ÇÖZÜLDÜ] Pil optimizasyon izinini almak [ÇÖZÜLDÜ] arsl01 4 161 08-04-2020, Saat: 22:10
Son Yorum: arsl01
  [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] arsl01 5 244 23-03-2020, Saat: 23:38
Son Yorum: arsl01
  ( Çözüldü ) OrangeUI windows 64 bit yok mu? mfidan 10 627 20-03-2020, Saat: 23:44
Son Yorum: mfidan
  [Çözüldü]Android .aab dosyası oluşmuyor. 41linea41 4 232 16-03-2020, Saat: 14:15
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi