Autor Beitrag
Cashels
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167



BeitragVerfasst: So 22.09.02 14:21 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: So 22.09.02 14:38 
nimm doch einfach eine variable

ausblenden 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

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: 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.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: 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

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Cashels Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167



BeitragVerfasst: 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