[C#] Timer wird nicht ausgeführt

09/24/2014 13:27 Ludder231#1
Hi,

ich hab ein kleines Problem. Und zwar habe ich ein Bot für das Game OGame geschrieben. Funkioniert auch alles super. Nun habe ich mein Funktionen etc alles in einen separaten Thread gepackt um nicht die GUI zu freezen etc. Von dem Thread aus starte ich einen Timer der dafür verantwortlich ist in einer Progressbar den Fortschritt an zu zeigen. Das klappt auch. Bloß jz will ich den Timer von anderen Methoden aus starten und das funktioniert nicht mehr. Kein exception oder so, bloß der Timer wird nicht gestartet. Weder mit Timer.enabled weder mit Timer.start()...


MfG Ludder231
09/24/2014 13:44 Mostey#2
Ohne Code wird das nichts.
09/24/2014 14:34 Ludder231#3

wenn ich btnAusbauen drücke funktioniert derr tmAusbauen....Wenn ich aber über die Methode _NiedgrigstesGebäudeAusbauen gehe dann kann ich den tmAusbauen nicht starten,....
09/24/2014 14:43 Mostey#4
Code:
tmAusbau2.Enabled = true;
Kein Wunder, er wird ja auch nie gestartet. Du sprichst hier einen anderen Timer an.
09/24/2014 17:29 Ludder231#5
Ups, war noch der Test Timer womit ich testen wollte ob ein anderer Timer gestartet wird. Wird er aber auch nicht. Also ist schon richtig, liegt nicht an dem Namen ;D
09/24/2014 17:50 Black Tiger ツ#6
Versteh ich das richtig, funktioniert tmAusbau.start(); in deiner Methode nicht?
Da ist nämlich kein Aufruf in _NiedgrigstesGebäudeAusbauen(int i).

Ist das System.Windows.Forms.Timer Control in einem anderen Thread / überhaupt in einem Fenster?
Hast du es mit System.Timers.Timer schon probiert?
09/24/2014 18:02 Ludder231#7
Das sind nur Code snippets. ich habe keine lust hier meinen ca 800 zeilen code zu Posten...Doch alles klappt so wie es soll bloß der start in _NiedgrigstesGebäudeAusbauen() wird nicht ausgeführt.

EDIT: Okay danke für den Tipp mit dem System.Timers.Timer der klappt. Mit dem normalen Timer wirds wohl nicht klappen weil da irgend was mit den threads ist order so denke ich mal. Naja muss wohl noch mehr mit Threading machen :D Danke