Hi Dr.Jack
Zitat:
Allerdings stehen bei mir sehr viele Ereignisse, statt Proceduren drinen. 50x TLabelxxx.click und 50x TButtonxxx.click.
Vorschlag: Schreib eine Prozedure OnButtonsClick und eine solche mit dem Namen OnLabelsCklich, verpasse diesen je einen Sender-Parameter (Sender:TObjekt). Dann verpasst du deinen Buttons und Labels je eine Property Tag mit integerwerten zwischen 1 und fünfzig pro Button bzw. Label.
Nun markierst du alle Buttons und weist im ObjektInspektor diesen Buttons die Prozedur OnButtonsClick zu. In der Ereignis-Prozedur kannst du nun den Sender nach Typ und TagProperty unterscheiden:
Delphi-Quellcode:
procedur OnButtonClick(Sender: TObjekt)
begin
case Sender.Tag of of
1: BehandleButton1Click
2: BehandleButton2Click
3: BehandleButton3Click(color := clred);
4: BehandleButton3Click(color := clblack);
...
end;
end;
Dabei musst du, je nachdem, was geändert werden soll, entsprechend weniger Prozeduren aufrufen, als Buttons vorhanden sind. Das kann auch nur eine weitere Prozedur sein, die du mit verschiedenen Parametern aurufst.
Wobei - auch wenn statt 50 Prozeduren nur noch deren 12 oder 15 wirklich unterschiedlich sind und du so doch einige einsparen kannst - eine ProcedurList empfiehlt sich auf jeden Fall.
Ich arbeite allerdings mit jener der CNPacks. Zumidest in neueren Delphis lässt sich diese in eigenem Fenster anzeigen und innerhalb der
IDE auch andocken. Diejenige der GExpertskenneich gar nicht.
Gruss
Delbor