Entwickler-Ecke
Sonstiges (Delphi) - Mehrfaches Buttondrücken verhindern
Cashels - So 22.09.02 14:21
Titel: Mehrfaches Buttondrücken verhindern
Hallo,
hab mal wieder einen typischen DAU Fall. Der gute Mensch sitzt vor meinem Programm, drückt auf ein Button um eine Funktion auszuführen. Die Rechenroutine in dieser Funktion nimmt allerdings etwas Zeit in Anspruch. Und weil der gute Mann geübt ist in Ungeduld, drückt er natürlich während dieser Zeit noch mindestens 3 mal auf den Button und wundert sich warum da nix passiert. Klar, dass dann zum Schluss, die gesamten Berechnungen mehrmals ausgeführt werden.
Jetzt meine Frage: wie kann ich das verhindern, ohne jeweils nach dem Drücken den Button zu disablen und nach Abschluss wieder freizugeben.
Danke für jeden Tip.
Gruss,
Tom
Chatfix - So 22.09.02 14:38
nimm doch einfach eine variable
Quelltext
1: 2: 3: 4: 5: 6:
| if VAR=true then begin VAR:=false; {DEIN CODE} VAR:=true; end; |
habs nicht probiert müsste aberr gehen, du kannst die Variable ja auch anders nennen. (VAR :boolean;)
ich hoffe ich konnte dir etwas helfen
Delete - So 22.09.02 14:44
Noch einfacher: Setz den Button nach dem Klick auf enabled. Und wenn die Rechnung fertig ist aktivierst du ihn wieder.
Chatfix - So 22.09.02 14:47
| Zitat: |
| ohne jeweils nach dem Drücken den Button zu disablen und nach Abschluss wieder freizugeben |
@ luckie deswegen hab ich das mit der variable gemacht, sonst hätt ich das mit dem disablen auch geschrieben.
Delete - So 22.09.02 14:51
Was spricht dagegen? Wenn er so wie so nicht draufklicken soll, warum ihm dann die Möglichkeit geben, bzw. im die Illusion zu geben es wäre möglich?
Chatfix - So 22.09.02 14:53
mir musst du das nicht sagen, er will es ja so... wer versteht schon einen programmierer *fg*
I love DAU
Cashels - So 22.09.02 16:51
@Chatfix,
Danke für dein Tip. Aber leider funktionniert dies nicht da dein Code immer nur sequentiell ausgeführt wird. Somit checkst du Var auf true, arbeitest dein Code durch, und setzts anschliessend deine Variabel wieder auf true. Das 2. Clicken auf den Arbeiten wird erst NACH dem Abarbeiten des 1. Clicks durchgeführt. Deine Variabel ist also stets auf true!
Ich habs jetzt mit der enabled/disabled Methode gelöst, was auch prima funktionniert. Ich muss Luckie Recht geben: wenn ich das Drücken verbiete, dann kann das auch ruhig so erscheinen.
Besten Dank an alle,
Gruss,
Tom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!