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 Lokal ve Uzak Database Kullanımı dkadir 2 152 16-06-2021, Saat: 16:15
Son Yorum: mrmarman
  fmx klavye sorunu hk. OmerAsaf 2 185 07-06-2021, Saat: 23:27
Son Yorum: OmerAsaf
  JSON Datetime sorunu tmrksmt 22 750 01-06-2021, Saat: 22:19
Son Yorum: tmrksmt
  Runtime Create edilen nesnenin Parent erişim sorunu 41linea41 5 512 17-05-2021, Saat: 10:26
Son Yorum: ozcanm
  Delphi Uygulamaları TERS MÜHENDİSLİK uygulamalarına dayanıklı mı? ferhatganem 12 1.032 07-05-2021, Saat: 21:10
Son Yorum: COMMANDX



Konuyu Okuyanlar: 1 Ziyaretçi