Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi prozedur von komponenten (https://www.delphipraxis.net/9227-prozedur-von-komponenten.html)

LoL 21. Sep 2003 10:10


prozedur von komponenten
 
hi

wie kann ich von einer komponente die zur laufzeit erstellt wurde, ein ereignis auslösen,z.b button.click?

gruß christoph

Illuminator-23-5 21. Sep 2003 11:13

Re: prozedur von komponenten
 
NewButton.OnClick(Form1);

LoL 21. Sep 2003 14:19

Re: prozedur von komponenten
 
und wie jetzt genau, wie mache ich die prozedur?(code plz)

gruß christoph

Sharky 21. Sep 2003 14:31

Re: prozedur von komponenten
 
Zitat:

Zitat von LoL
und wie jetzt genau, wie mache ich die prozedur?(code plz)

gruß christoph

Hai LoL,

meinst Du wie Du es auslöst oder wie Du es der Komponente zuweisen musst?

LoL 21. Sep 2003 15:38

Re: prozedur von komponenten
 
beides

Illuminator-23-5 21. Sep 2003 15:58

Re: prozedur von komponenten
 
z.B.:

procedure Klicken(Sender: TObject);
begin
...
end;

Zuweisung:
NewButton.OnClick := Klicken;

Aufrufen:
NewButton.OnClick;

LoL 21. Sep 2003 16:23

Re: prozedur von komponenten
 
hi

ich habs probiert:
Delphi-Quellcode:
var  mybutton : TButton;

procedure Klicken(Sender: TObject);
begin
  showmessage('KLICK');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  mybutton := TButton.Create(form1);
  mybutton.Parent := form1;
  mybutton.OnClick := Klicken;
end;
geht aber net
Zitat:

[Error] Unit1.pas(38): Incompatible types: 'method pointer and regular procedure'
mfg christoph

Dagon 21. Sep 2003 16:26

Re: prozedur von komponenten
 
Du musst die Prozedur in TForm1 deklarieren:
Delphi-Quellcode:
  ...
private
    procedure Klicken(Sender: TObject);
  ...

LoL 21. Sep 2003 16:42

Re: prozedur von komponenten
 
hi

warum in privat? is doch egal oder?

mfg christoph

Christian Seehase 21. Sep 2003 18:40

Re: prozedur von komponenten
 
Moin Zusammen,

das Wesentliche ist, dass es sich um eine Methode handeln muss, z.B. von TForm1.

Beispiel:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    //...
    procedure Klicken(Sender: TObject);
    //...
  end;

//...

implementation

//...

procedure TForm1.Klicken(Sender: TObject);
begin
  //...
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz