Vielen Dank, das funktioniert.
Nun habe ich aber ein anderes Problem, vielleicht hat da ja auch jemand eine Idee.
Mein Ursprungsproblem liegt darin, dass mein Script bei einer Auswahl etwas berechnet, was einige Sekunden dauern kann.
Wenn ich während dieser Zeit eine andere Auswahl treffe soll die Funktion unterbrochen und neu gestartet werden.
Mit meinem Test-Script wollte ich genau das erreichen, aber nun sehe ich dass dies zwei verschiedene paar Schuhe sind.
Zum einen wird die Funktion nicht durch einen HotKey aufgerufen, sondern durch eine andere Funktion (ausgelöst durch eine Auswahl in einer ListBox) und zum anderen soll die Funktion nicht "pausieren" und nach beendigung des neuen Threads fortgesetzt werden, sondern die Funktion soll einfach beendet (return) und neu gestartet werden.
Mit "Thread, interrupt, 0" , "Critical, off" oder "Thread, priority, -1000" usw. komme ich da nicht wirklich weiter.
Vielleicht verwende ich die Befehle bloß falsch, oder vielleicht funktioniert das auch nicht wenn der Aufruf der Funktion von einer anderen Funktion erfolgt.
Da muss ich wohl erst ein neues Beispielscript erstellen.
Soweit schon mal vielen Dank. Falls jemand jetzt schon versteht was ich meine und ahnt wo mein Fehler liegt bin ich selbstverständlich über jeden Hinweis dankbar
Edit: Das mit dem Aufruf aus einer anderen Funktion scheint kein Problem zu sein, aber wie bekomme ich es hin, dass der Thread "beendet und neu gestartet" wird, statt "pausiert während der neue Thread läuft" ?
Hier ist das BeispielScript:
Code: Select all
#SingleInstance
#MaxThreadsPerHotkey 10
label:
Loop, 100 {
Sleep 50
TrayTip,, % a_index " von 100"
}
return
label2:
gosub label
return
F7::gosub label2