Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Create edilen button olay ekleme.
#1
mrmarman hocanın verdiği bir kod vardı onu bir projede kullanmak istiyorum  panel yerine buton ekliyorum 
fakat oluşturulan butonlarn onclik onayını nasıl kullanacağımı bulamadım. 

procedure YeniPanelEkle;
Var
 i      : Integer;
 SPanel : TButton;
begin
 i := High( ServerPanelleri );
 // Yeni server için Array genişletmece...
 if i < 0 // hiç server tanımlı değil
   then i := 1
   else i := High( ServerPanelleri ) - Low( ServerPanelleri ) +2;

 SetLength( ServerPanelleri, i );
 TButton(ServerPanelleri[i-1]) := TButton.Create(form1);
 With TButton(ServerPanelleri[i-1]) do begin
   Parent := form1.ScrollBox1;

   Width  := 100;
   Height := 50;

 end;

 PanelleriDuzenle();
end;
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla
#2
(26-05-2019, Saat: 01:07)KUNTAY Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.mrmarman hocanın verdiği bir kod vardı onu bir projede kullanmak istiyorum  panel yerine buton ekliyorum 
fakat oluşturulan butonlarn onclik onayını nasıl kullanacağımı bulamadım. 

procedure YeniPanelEkle;
Var
 i      : Integer;
 SPanel : TButton;
begin
 i := High( ServerPanelleri );
 // Yeni server için Array genişletmece...
 if i < 0 // hiç server tanımlı değil
   then i := 1
   else i := High( ServerPanelleri ) - Low( ServerPanelleri ) +2;

 SetLength( ServerPanelleri, i );
 TButton(ServerPanelleri[i-1]) := TButton.Create(form1);
 With TButton(ServerPanelleri[i-1]) do begin
   Parent := form1.ScrollBox1;

   Width  := 100;
   Height := 50;

 end;

 PanelleriDuzenle();
end;


  
 ....
private
   { Private declarations }
   procedure OnButtonClick(Sender : TObject);
....

procedure TForm1.OnButtonClick(Sender: TObject);
begin
 ShowMessage( TButton(Sender).Caption  + ' Buna Tıklandı.')
end;

....
procedure YeniPanelEkle;
Var
  i      : Integer;
  SPanel : TButton;
begin
  i := High( ServerPanelleri );
  // Yeni server için Array genişletmece...
  if i < 0 // hiç server tanımlı değil
    then i := 1
    else i := High( ServerPanelleri ) - Low( ServerPanelleri ) +2;

  SetLength( ServerPanelleri, i );
  TButton(ServerPanelleri[i-1]) := TButton.Create(form1);
  With TButton(ServerPanelleri[i-1]) do begin
    Parent := form1.ScrollBox1;

    Width  := 100;
    Height := 50;

   onClick := OnButtonClick; // +++++
  end;

  PanelleriDuzenle();
end;
...
Cevapla
#3
Photo 
(26-05-2019, Saat: 01:34)kodamelesi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(26-05-2019, Saat: 01:07)KUNTAY Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.mrmarman hocanın verdiği bir kod vardı onu bir projede kullanmak istiyorum  panel yerine buton ekliyorum 
fakat oluşturulan butonlarn onclik onayını nasıl kullanacağımı bulamadım. 

procedure YeniPanelEkle;
Var
 i      : Integer;
 SPanel : TButton;
begin
 i := High( ServerPanelleri );
 // Yeni server için Array genişletmece...
 if i < 0 // hiç server tanımlı değil
   then i := 1
   else i := High( ServerPanelleri ) - Low( ServerPanelleri ) +2;

 SetLength( ServerPanelleri, i );
 TButton(ServerPanelleri[i-1]) := TButton.Create(form1);
 With TButton(ServerPanelleri[i-1]) do begin
   Parent := form1.ScrollBox1;

   Width  := 100;
   Height := 50;

 end;

 PanelleriDuzenle();
end;


  
 ....
private
   { Private declarations }
   procedure OnButtonClick(Sender : TObject);
....

procedure TForm1.OnButtonClick(Sender: TObject);
begin
 ShowMessage( TButton(Sender).Caption  + ' Buna Tıklandı.')
end;

....
procedure YeniPanelEkle;
Var
  i      : Integer;
  SPanel : TButton;
begin
  i := High( ServerPanelleri );
  // Yeni server için Array genişletmece...
  if i < 0 // hiç server tanımlı değil
    then i := 1
    else i := High( ServerPanelleri ) - Low( ServerPanelleri ) +2;

  SetLength( ServerPanelleri, i );
  TButton(ServerPanelleri[i-1]) := TButton.Create(form1);
  With TButton(ServerPanelleri[i-1]) do begin
    Parent := form1.ScrollBox1;

    Width  := 100;
    Height := 50;

   onClick := OnButtonClick; // +++++
  end;

  PanelleriDuzenle();
end;
...

Bunu denedim aslında sürekli şu hataları alıyorum.

[dcc32 Error] Unit1.pas(88): E2003 Undeclared identifier: 'OnButtonClick'
[dcc32 Hint] Unit1.pas(18): H2219 Private symbol 'OnButtonClick' declared but never used
[dcc32 Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
Failed
Elapsed time: 00:00:00.3
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla
#4
YeniPanelEkle procedure'ünü TForm1 sınıfına taşımayı deneyebilirsiniz.
WWW
Cevapla
#5
(26-05-2019, Saat: 14:25)ismailkocacan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.YeniPanelEkle procedure'ünü TForm1 sınıfına taşımayı deneyebilirsiniz.

Teşekkür ederim testlerim sırasında Tform1 sınıfında çalışmıştım sonra neden dışarı aldım hiç anlamadım siz dikkat çekmeseniz farkında bile değilim. 

Akşam eve geçince denerim ama galiba nedeni bu olsa gerek. Çalışmaması için hiç bir sebep yok.
Faydalanılmayan bilgi, harcanmayan ve hiç kimseye hayrı dokunmayan define gibidir.

Hz. Muhammed (sav.)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Child formlarda create yordamının çalışma sırası LastCoder 16 329 Dün, Saat: 18:39
Son Yorum: LastCoder
  Kalıtılmış Formu Değişkende Tutarak Dinamik Create Etmek LastCoder 6 203 14-10-2019, Saat: 12:11
Son Yorum: sadettinpolat
  Fonksiyon içinde create edilenler seci20 8 464 22-07-2019, Saat: 15:38
Son Yorum: Tuğrul HELVACI
  Formların bazen create olmaması ve butonların tıklanmaması hakkında smyrna231802 11 941 11-04-2019, Saat: 09:54
Son Yorum: smyrna231802
  Button lara kısa yol atama hk. cinarbil 6 626 10-03-2019, Saat: 16:56
Son Yorum: cinarbil



Konuyu Okuyanlar: 1 Ziyaretçi