Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Çözüldü --lazarus codetyphon ide de frame kullanma problemi
#1
arkadaşlar bir türlü çözüm bulamadım sorunu videoda anlattım

farklı framelerdeki edit eventleri aynı çıkıyor farklı farklı oluşmuyor bu sorunu nasıl çözebilirim 

saygılarımla

https://drive.google.com/open?id=1ON-SxE...fU_ZDykflQ


bu şekilde hangisine tıklarsam tıklayım tek event oluşuyor
procedure TForm1.Edit1Change(Sender: TObject);
begin

end; 


delphide bu şekilde ayrı ayrı event oluşuyordu
procedure TForm1.Frame21Edit1Change(Sender: TObject);
begin
ShowMessage('edt1');
end;

procedure TForm1.Frame22Edit1Change(Sender: TObject);
begin
ShowMessage('edt2');
end;
Cevapla
#2
Editlerin adını değiştirin.
WWW
Cevapla
#3
Frame tek bir atadan türediğinden böyle.

Şunu dene bu şekilde ayırt edebilirsin.

  ShowMessage( TFrame( TEdit(Sender).Owner ).Name );


Hatta bu şekilde her FRAME için TAG değerini 1 ve 2 olarak farklı değişitirip aşağıdaki şekilde takip edebilirsin.
procedure TFrame2.Edit1Change(Sender: TObject);
begin
 Case TFrame( TEdit(Sender).Owner ).Tag  of
   1 : Showmessage('Edit1');
   2 : Showmessage('Edit2');
 End;
end;
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#4
forma eklediğim frame içindeki editin adını değiştiremiyorum 10 adet frame eklemem her edit e tıklandığında farklı işlemler yapacak
hocam deneme yaptım editi görmüyor enteresan bir şekilde saygılarımla
Cevapla
#5
Lazarus ta şu şekilde hangi frame den geldiğini gösteriyor.

procedure TForm1.Edit1Change(Sender: TObject);
begin
 ShowMessage(TEdit(sender).Parent.Name);
end;
WWW
Cevapla
#6
@esistem  Parenti direkt TFrame'in kendisi değil de arada başka bir bileşen var ise sıkıntı olabilir, sıkıntı dediğim de büyütülmesi gereksiz, aynı parent ara bileşen adı dönmesi. Ayırt edici olmamasına işaretle. Örneğin  Panel1 üzerindeyse bu TEdit benzer şekilde parenti yine Panel1 dönecektir.

Bu şekilde değil de Owner tercih edilirse en başa değin giderek oraya bakar.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#7
Doğrudur haklısınız hocam, Frame üzerinde panel vs. kullanılır ise sorun yaratabilir.
o zaman parent i owner olarak değiştirmek işi çözecektir.
WWW
Cevapla
#8
arkadaşlar neden delphideki gibi olmuyor. lazarusda bu orjinali bu şekildemi takıldım kaldım buraya
edit1 i parentini frame1 olarak değiştirmek istesem ayarlarda böyle bir değişiklik yapabileceğim menu yok kodla değiştirince olmaz zaten

aşagıdaki gibi ayrı event oluşturmanın yolu yok mu
saygılar

procedure TForm1.Frame21Edit1Change(Sender: TObject);
procedure TForm1.Frame22Edit1Change(Sender: TObject);
Cevapla
#9
Delphide de aynı.
Bir frame oluşturduktan sonra, diğerlerini de bu frameden türettiğin sürece hep aynı üstadım.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#10
İyide videoda aynı prosedürü değiştiriyorsunuz zaten. İkinci edite tıklayıp event kısmını boşaltın yeni bir prosedür oluştursun oraya ayrı diğer kodu yazın.
Denedim sorun yok her bileşene ayrı olay yazabiliyorsunuz.
Topluluk mopluluk yok :/
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  pardus 17 lazarus 2.0.10 kütüphane yükleme hatası sadikacar60 0 662 10-07-2021, Saat: 16:40
Son Yorum: sadikacar60
  lazarus projeyi derleme kurulum haline getirme hk. sadikacar60 0 1.310 28-02-2020, Saat: 15:26
Son Yorum: sadikacar60
  ÇÖZÜLDÜ-IdTCPClient1 ve IdTCPServer1 kompenantları HK. sadikacar60 1 1.752 21-02-2020, Saat: 22:24
Son Yorum: sadikacar60
  ÇÖZÜLDÜ-zoom yapınca resim pixel rengi beyaz oluyor. sadikacar60 1 1.740 06-02-2020, Saat: 20:40
Son Yorum: sadikacar60
  ÇÖZÜLDÜ-çalışan exeleri listeleme hk. sadikacar60 1 1.952 05-11-2019, Saat: 22:40
Son Yorum: SimaWB



Konuyu Okuyanlar: 1 Ziyaretçi