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ı: 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ı:
(26-05-2019, Saat: 01:07)KUNTAY Adlı Kullanıcıdan Alıntı: 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ı: 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
  Button Renk sorunu CesuR 3 303 21-05-2026, Saat: 04:29
Son Yorum: emailx45
  Rest Request Parametre Ekleme m_ekici 9 518 09-02-2026, Saat: 00:33
Son Yorum: m_ekici
  Delphi IDE project kısmına Klasör ekleme yanniosman 1 568 01-12-2024, Saat: 12:17
Son Yorum: frmman
  lazarusda form create sorunu sadikacar60 1 610 28-06-2024, Saat: 18:22
Son Yorum: Tuğrul HELVACI
  Excel tablosuna resim ekleme enigma 3 1.214 21-05-2024, Saat: 12:16
Son Yorum: enigma



Konuyu Okuyanlar: 1 Ziyaretçi