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
  Fonksiyon içinde create edilenler seci20 8 377 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 824 11-04-2019, Saat: 09:54
Son Yorum: smyrna231802
  Button lara kısa yol atama hk. cinarbil 6 578 10-03-2019, Saat: 16:56
Son Yorum: cinarbil
  Form create buton visible durumu Yeliz 6 689 01-02-2019, Saat: 14:07
Son Yorum: Yeliz
  Unidac veri ekleme arsl01 3 696 29-09-2018, Saat: 17:06
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi