Brauche Hilfe. Wegen Timer

07/31/2016 19:30 slipknoter6#1
Hallo
Ich bin noch anfänger. Sowie ich mein Timer gebaut habe hängt sich das programm auf also die buttons haben dann aufeinmal keine funktion mehr. Es reagiert nicht mehr.
Ich glaube deswegen:

Kann man das anders lösen?


mfg

Slipknoter6
07/31/2016 20:30 Mikesch01#2
Verwendete Sprache?

"If $Count = 60 Then" -> das schaut suspekt aus, da eine Prüfung normalerweise mit zwei Gleichzeichen stattfindet, z.B "If $Count == 60 Then". Aber da ich die Sprache nicht erkennen kann, ist das nur eine Vermutung.
07/31/2016 20:59 alpines#3
Quote:
Originally Posted by Mikesch01 View Post
Verwendete Sprache?
AutoIt, siehst du das nicht?

Deine Timer-Implementation ist schlecht, die verfängt sich in der While-Schleife und rast durch weil du nirgendwo eine Sekunde sleepst.

Deine If-Verzweigungen solltest du dringend überarbeiten, das ist sehr sehr schlecht implementiert.

Wenn du eine While-Schleife unbedingt haben willst musst du dort auch die GUI-Messages abfangen bzw. verarbeiten, ansonten musst du GUIOnEventMode nehmen.
07/31/2016 21:18 YatoDev#4
Quote:
Originally Posted by alpines View Post
Deine Timer-Implementation ist schlecht, die verfängt sich in der While-Schleife und rast durch weil du nirgendwo eine Sekunde sleepst.

Deine If-Verzweigungen solltest du dringend überarbeiten, das ist sehr sehr schlecht implementiert.
TimerInit und TimerDiff benutzen

Rest zeit zb. 60 - TimerDiff($timer) / 60000 anstatt 1000000 if abfragen
08/01/2016 11:06 Devsome#5
#moved…
08/12/2016 20:02 Universes#6
Code:
Func _Sleep($time)
	$tstart = TimerInit()
	While TimerDiff($tstart) < $time
	Wend
Endfunc
Vllt hilft dir das weiter :D
08/21/2016 00:41 FacePalmMan#7
Code:
Global $hTimer = False ;Put these 2 lines directly after the includes and TCP/GDIp-Startup calls, and before anything else!
AdlibRegister("Timer_Adlib", 1000)


Func TimerStart() ;Put the 2 funcs in the very bottom of your script.
	$hTimer = TimerInit()
EndFunc

Func Timer_Adlib()
	If $hTimer = False Then Return False
	GUICtrlSetData($Label1, "Restart from Bot in: " & (60 - (TimerDiff($hTimer) / 60000) & "min & " & Mod(TimerDiff($hTimer) / 1000, 60) & "sec")
	If TimerDiff($hTimer) >= 360000 Then
		GUICtrlSetData($Label1, "Restart from Bot in: Restart")
		StartPokemon()
		$hTimer = False
	EndIf
EndFunc
Theoretisch sollte es funktionieren. Hatte keine Zeit es auszuprobieren (Anspielung auf den 60-Min-Timer), aber sollte eigentlich funktionieren.