Ich möchte in VisualBasic ein „Alternativ-Liste“ (Options) anbieten, die man jederzeit ändern kann. Wenn eine Option = True ist, soll eine Sub aufgerufen werden, die sich solange wiederholt, bis eine andere Option angeklickt (= True) wird.
die Sub sieht ungefähr so aus:
dim machwas as boolean
sub MachWas()
do while laufenlassen
’ …
loop
end sub
sub Option1_Click()
laufenlassen = false
’ …
end sub
sub Option2_Click()
laufenlassen = false
’ …
end sub
Das Problem ist nur, das während die Sub „MachWas“ läuft, kein „umklicken“ der Options möglich ist, so dass laufenlassen auf false gestellt werden kann.
Hat jemand eine Idee? Ich hoffe, ich habe das Problem verständlich dargestellt…
Ja, könntest du es eigentlich auch machen.
Aber zu empfehlen ist es nicht, da es sehr viel Rechnerperformance frisst.
Du müsstest in die Schleife die Anweisung
DoEvents
eintragen, dann kann man während die Schleife durchlaufen wird an der Oberfläche (z.B.: die Option) ändern.
Ich würde den Timer empfehlen.
Du setzt das Timer Intervall auf z.B.: 100ms. Da wird immer eine Prozedur aufgerufen. Je nachdem welche Option aktiviert ist, das passiert dann in der Prozedur.
füge in Deine Do While Schleife die Anweisung DoEvents ein, sie gibt kurzzeitig Resourcen frei, so daß der Click empfangen und verarbeitet werden kann.