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
  Fast Report Araya Bağımsız Sayfa Ekleme bydelphi 1 492 02-01-2024, Saat: 23:21
Son Yorum: hi_selamlar
Sad Tabsheet içinde Form Create, Close olayları YILDIRIMBEY 0 247 24-08-2023, Saat: 17:26
Son Yorum: YILDIRIMBEY
  Soap Header ekleme doublelaz 3 1.378 06-12-2022, Saat: 09:31
Son Yorum: Bay_Y
Question MdiChild Form İçin Create Helper? YILDIRIMBEY 1 609 10-10-2022, Saat: 10:53
Son Yorum: YILDIRIMBEY
  cxGrid1 manuel kayıt ekleme delphiX14 3 1.249 25-07-2022, Saat: 14:16
Son Yorum: delphiX14



Konuyu Okuyanlar: 1 Ziyaretçi