Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Neue Komponente mit Event belegen? (https://www.delphipraxis.net/41557-neue-komponente-mit-event-belegen.html)

modjo 5. Mär 2005 00:03


Neue Komponente mit Event belegen?
 
Ich weiss nicht ob das überhaupt geht, da man den quellcode wohl vverändern muss, aber ich stell die Frage trotzdem um sicherzugehen.

Es ist nicht allzu schwer neue Komponenten auf einer Form zu erzeugen, aber ich frage euch, wie und ob man die Events der neuen Komponenten belegen kann. :gruebel:


Zum Beispiel das OnClick-Event eines neuen Menueintrages oder Buttons.

So in der Art:

Delphi-Quellcode:
button1.onclickevent:=(begin
                       und dann halt der Quellcode, mit dem der Button belegt werden soll
                       end;);
Vermutlich verlange ich da ein bischen zu viel :stupid:

mason 5. Mär 2005 00:47

Re: Neue Komponente mit Event belegen?
 
Wenn ich dich richtig verstehe, möchtest du dem Event einer Komponente per Quelltext eine Behandlung zukommen lassen, oder?

Kein Problem - du musst dir eine Prozedur erstellen, die die gleichen Parameter hat, wie das Event sie erwartet, und nach dem Erstellen der Komponente diese Prozedur dem entsprechenden Event zuweisen:
Delphi-Quellcode:
interface

type TMyForm = class(TForm)
  button1: TButton;
  procedure FormCreate(Sender: TObject);
  procedure MyClickHandler(Sender: TObject);
end;

implementation

procedure TMyForm.MyClickHandler(Sender: TObject);
begin
  DoSomething;
  bzw.
  "und dann halt der Quellcode, mit dem der Button belegt werden soll" ;-)
end;

procedure TMyForm.FormCreate(Sender: TObject);
begin
  button1 := TButton.Create(Self);
  button1.Parent := Self;
  button1.OnClick := MyClickHandler;
end;

modjo 5. Mär 2005 02:47

Re: Neue Komponente mit Event belegen?
 
Das bedeutet, dass man also keine Schnittstelle dort einbauen kann? Die einzige Möglichkeit wäre dann eine public-Variable zu deklarieren/erzeugen, die nach dann einen Wert zugewiesen bekommt, der dann im Event ausgelesen wird? Bischen umständlich , aber müsste wohl klappen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr.

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