Entwickler-Ecke

Sonstiges (Delphi) - eine Prozedur zuweisen


Anfänger - Sa 07.02.04 22:28
Titel: eine Prozedur zuweisen
Ich habe folgenden Array:
BitBtn: Array [0..13] of TBitBtn;

Ich habe eine feste Prozedur (BitBtnClick), die ich jedem Button zuordnen möchte.
(Warum? Ganz einfach: In der Prozedur erkennt er welcher Button markiert (Default) ist und reagiert dementsprechen.)

ich habe schon versucht, das onClick- ereignis = BitBtnClick zu setzen,
aber er sagt mir:Inkompatible Typen:Liste der Parameter ist unterschiedlich.

Wie kriege ich das hin?


catweasel - Sa 07.02.04 23:01

indem du in der MethodendeklarationSender : TObject als Parameter deklarierst.... Was wäre auch ein Klick ohne Sender... :lol:
Wie ne Wirkung ohne Ursache ... :D
Den Sender brauchts halt, damit du in der gemeinsamen onKlick Prozedur herausbekommst wer den Klick ausgelöst hat.. :)


Delphi-Quelltext
1:
2:
if TBitbutton(sender).name = 'button1' then  //  .....
if TBitbutton(sender).name = 'button2' then  //  .....

Trotz dieses Codebeispiels stehe ich noch zu meiner früheren Aussage das ich von Type Casts nix halte, aber hier ists schon angebracht .... :wink:


Das sollte eleganter sein als das über die default property rauszufriemeln... :roll:

Catweasel


Delete - So 08.02.04 04:10

Was ist an Typecasts schlecht? Empfiehlt sogar Borland im Handbuchsatz.


Anfänger - So 08.02.04 16:47

Jo, danke :!:

Hatte das, mit dem Sender nie für wichtig gehalten :roll:

Jetzt weiß ich's besser!

Auch das Andere klappt ebenfals super!