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
  TLabel veya TMemo daki wordwrap olan 2 satır arasındaki pixel boşluğu hayalyilmaz43 11 327 23-06-2020, Saat: 14:33
Son Yorum: hayalyilmaz43
Rainbow IOS Push Notification yapılandırması- ÇÖZÜLDÜ kadrikaya 17 1.138 07-06-2020, Saat: 22:31
Son Yorum: kadrikaya
  Tam ekran sorunu ? [ ÇÖZÜLDÜ ] Mr.Developer 7 478 27-05-2020, Saat: 17:16
Son Yorum: Mr.Developer
  [ÇÖZÜLDÜ] Delphi iOS Mesaj Sorunu Halil Han Badem 10 1.014 12-05-2020, Saat: 13:09
Son Yorum: Halil Han Badem
  ( Çözüldü ) OrangeUI windows 64 bit yok mu? mfidan 21 2.471 08-05-2020, Saat: 03:01
Son Yorum: DelphiTeacher



Konuyu Okuyanlar: 1 Ziyaretçi