Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi 10.4 Frame tab order sorunu
#1
Merhaba
delphi 10.4 ile TFrame lerdeki tab orderleri kullanamıyoruzmu? delphi 10.3
 ile böyle bir sorun yoktu tab ordeler normal çalışıyordu 10.4 yükledim denemek için tab orderler -1 oldu numaralandırıyorum kaydediyorum kapatıp açtığımda yine -1 oluyo, TabStop True bunu Falsede yaptım sonuç değişmedi bu sorunu düzeltmek için başka bir yöntemmi var?
Cevapla
#2
Merhaba,
Yaptığım incelemeye göre, Delphi 10.4'te TabOrder özelliğinde bir değişiklik yok. Diğer Delphi sürümlerinde nasıl ise bu sürümde de yapı aynı şekilde devam ediyor. 
 
   

Object Inspector'dan TabOrder'ı set edip, projeyi açıp kapattığımda (hatta IDE'yi de kapatıp, açtım), TabOrder değerinin set ettiğim son değerde kaldığını gördüm. 
Bir çözüm önerisi; Delphi 10.4 IDE'sini yönetici olarak çalıştırıp, testlerinizi yapın.
Cevapla
#3
Sorun daha basit bir sorun olabilir.

Windows yetki vb. durumlarındaki farkı anlamak için formun dfm dosyasını açıp elinizle birinin taborder değerini metin olarak değiştirip kaydeder misiniz?

Kaydettiğiniz şekilde kalıyorsa Delphi IDE'yi yönetici olarak çalıştır deyip bir deneyin diyeceğim.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#4
dediklerinizi yaptım ama sonuca ulaşamadım ufak bir örnek ekledim form üzeinde tab order çalışıyor freme de çalışmıyor taborder -1 oluyor kapatıp açınca
Deneme.rar
Cevapla
#5
Sizin gönderdiğiniz uygulamayı Delphi 10.4 ile açıp, frame'in taborder değerini Object Inspector'dan değiştirdim. 
Projeyi kapatıp açtım. 
Son verdiğim taborder değerini gördüm. 
IDE ile ilgili bir sorun olmadığını, yönetimsel bir sorun olduğunu düşünüyorum.
Cevapla
#6
Merakımdan soruyorum, frame'in taborder değerini hangi amaçla kullanıyorsunuz?
Cevapla
#7
(10-06-2020, Saat: 16:29)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merakımdan soruyorum, frame'in taborder değerini hangi amaçla kullanıyorsunuz?

özürdilerim hata bende soruyu yanlış sordum sanırım, TFrame icindeki editlerin tab order lerinde sorun yaşıyorum editler arası geçiş yapamıyorum
Cevapla
#8
(10-06-2020, Saat: 16:44)metinayhan Adlı Kullanıcıdan Alıntı:
(10-06-2020, Saat: 16:29)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merakımdan soruyorum, frame'in taborder değerini hangi amaçla kullanıyorsunuz?

özürdilerim hata bende soruyu yanlış sordum sanırım, TFrame icindeki editlerin tab order lerinde sorun yaşıyorum editler arası geçiş yapamıyorum

Big Grin
Cevapla
#9
Demek istediğinizi şimdi örneğinizden yola çıkarak anladım.

Şimdi yapılanları adımlayarak yazayım, başlığı okuyanlar doğru anlasınlar, keza sizin örnek OrangeUI bileşenleri barındırıyor, temel paketlerde denemek her zaman en sağlıklısıdır.

Frame için 
* Design Time zamanında Edit'lerin TabOrder değerleri olarak sırasıyla 0,1,2 atamıştım.

Frame'deki bir butona altına 

procedure Tframefrm.Button1Click(Sender: TObject);
begin
  Edit1.Text := IntToStr(Edit1.TabOrder);
  Edit2.Text := IntToStr(Edit2.TabOrder);
  Edit3.Text := IntToStr(Edit3.TabOrder);
end;



RunTime'da ana formdan frame create işlemi şu şekilde.
procedure TForm1.Button1Click(Sender: TObject);
var
   frm : Tframefrm;
begin
   frm := Tframefrm.Create(self);
   frm.Name := 'TEST';
   frm.Parent  := self;
   frm.Position.X := 0;
   frm.Position.Y := 0;
   frm.Align := TAlignLayout.Client;
   frm.Visible := True;
end;


Frame'de daha önceden belirlenen butona basınca  bu değerler -1,-1,-1 olarak göründüler. 

Ancak Edit1.Text içine "TEST" şeklinde bir ifade koymuştum o değişmeden hayatına devam ederek kalmış.  Wink 

Demek ki her şey transfer olmuyormuş bunu ben de öğrenmiş oldum. 10.3'ü de henüz dün kaldırmıştım, deneyemiyorum...  Idea




qwmmggzw7gjvaei6ykca.gif





EKLEME : 

Ekstra hepsine bakayım diyerek Frame üzerindeki button kodunu örnek sınırlarına kadar genişlettim.

procedure TFrame2.Button1Click(Sender: TObject);
begin
 Application.MainForm.Caption := IntToStr(self.TabOrder);
 Button1.Text := IntToStr(Button1.TabOrder);
 Edit1.Text := IntToStr(Edit1.TabOrder);
 Edit2.Text := IntToStr(Edit2.TabOrder);
 Edit3.Text := IntToStr(Edit3.TabOrder);
end;


Burada button dahil  -1 gelirken 4 olarak belirlediğim Frame TabOrder değeri doğru bir şekilde 4 olarak Caption'da göründü...

VCL tarafında her şey normal... Olmasını beklediğimiz gibi gelişti. 

Edit 1, 2, 3 için TabOrder VCL tarafında otomatik sıralı üretildiğinden, farkı anlayayım diye tersten 3,2,1 olarak yeniden girdim. Bu detayı değerlendirerek inceleyebilirsiniz.

Sonuca varıyorum, sorun sadece FMX yakasında  Idea


p1kkctfjosh4rh9xxqhg.gif
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#10
Quality Embarcadero'ya bu BUG ile ilgili başlık açıldı. Validation kısa süre sonra biter, open issue olması saat farkına binaen akşamı bulabilir.
bkz. nysmxlytbl5ev7mfpz4b.png  [RSP-29552]

xfjuzeezplksbpu1rvik.gif
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi FMX Enter tuşu (dpad_center) yakalama tarkancengiz 8 295 20-03-2024, Saat: 15:54
Son Yorum: tarkancengiz
  Delphi 12 Boş Form Derleme Hatası [Çözüldü] codder71 4 529 21-02-2024, Saat: 22:09
Son Yorum: codder71
  Delphi 12 IOS Simulatorde Uygulama Çalışmıyor elixir84 3 958 07-02-2024, Saat: 17:05
Son Yorum: elixir84
  CTRL + D delphi versiyon farkı Altıner 5 668 16-01-2024, Saat: 11:15
Son Yorum: yhackup
  Delphi 12 için XCode ve IOS Sürümü nedir? Mr.X 12 1.048 24-12-2023, Saat: 10:59
Son Yorum: burakb44



Konuyu Okuyanlar: 1 Ziyaretçi