Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigene Prozedur bei Ereignissen verwenden (https://www.delphipraxis.net/47959-eigene-prozedur-bei-ereignissen-verwenden.html)

Minz 18. Jun 2005 14:35


Eigene Prozedur bei Ereignissen verwenden
 
Irgendwie stehe ich auf dem Schlauch, habe auch länger nicht mehr programmiert...

Ich erstelle zur Laufzeit RadioButtons und möchte diesen Buttons ein eigenes Onclick verpassen.

Da ich dies in der Vergangenheit irgendwie mit
Delphi-Quellcode:
MyObject.OnClick:=MyProcedure;
gemacht habe, wundere ich mich heute, was da nicht klappt. Er meckert über inkompatible Typen TNotifyEvent und Procedure - ok leuchtet mir ein, aber ich habs bestimmt so gemacht gehabt :wall:

Im Kontext:
Unit2 (Class eigene RadioButtons)
Delphi-Quellcode:
type TRBX=class(TRadioButton);
Unit1 (Main)
Delphi-Quellcode:
procedure EigenesOnClick(Sender: TObject);
.
.
.
var
   RB: TRBX;
.
.
.  
RB:=TRBX.create(Self);
RB.onclick:=EigenesOnclick; //habe es auch mal mit RB.OnClick:=TForm1.EigenesOnClick versucht
Ich fühle das die Lösung einfach sein muss :mrgreen:

Nur zu meiner Entschuldigung, ich habe bestimmt 1 Stunde lang die Suche-Funktion benutzt z.B.

Eigene Prozedur Event/Ereignis
Eigenes Ereignis/Event
...

bin aber ständig über TNotifyEvent gestolpert und habe auch sonst nicht die Antwort auf meine Frage gefunden. Habe allerdings Hinweise entdeckt, dass mein Versuch irgendwie funktionieren muss. Habe vermutlich irgendwo bei den Deklarationen was vertauscht?

Phistev 18. Jun 2005 14:46

Re: Eigene Prozedur bei Ereignissen verwenden
 
Du brauchst eine procedure of object (also eine Methode), "normale" Prozeduren werden nicht akzeptiert

Minz 18. Jun 2005 15:15

Re: Eigene Prozedur bei Ereignissen verwenden
 
omg ich hatte noch
Delphi-Quellcode:
RB.OnClick:=TForm1.EigenesOnClick;
nachdem ich TFomr1 rausgelöscht habe funktioniert es.

Danke, habe immerhin aufgrund deines Posts nochmal nachgeschaut :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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