PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GUI laggt (HTTP Bot)



iNcc
22.03.2009, 11:10
Ich bin gerade dabei einen Bot zu schreiben.
Soweit klappt auch alles, doch das Programm hängt sobald der Bot gestartet wird (nachdem ich auf einen Button geklickt habe, der den Bot lädt).

Man kann das Fenster nicht mehr verschieben oder Interaktionen ausführen, bis der Bot seine momentanen Aktionen beendet hat.

Wie kann ich das verhindern?


Zum Programm:
Ich habe mir eine Klasse TBot geschrieben. Der Bot wird mit Klick auf einen bestimmten Button gestartet und dann hängt das Fenster (Bot läuft jedoch wie gewohnt weiter)

Lg,
iNk

Adoppelgroberlin
22.03.2009, 11:17
gib mal link zum bot ;)

Epiphone
22.03.2009, 11:27
Jo wahrscheinlich ist er in ner Endlosschleife, wodurch die GUI ja logischerweiße nicht reagieren kann!

Stell mal den Connection Intervall etwas höher!

iNcc
22.03.2009, 11:31
Nein, Endlosschleifen habe ich nicht eingebaut.
(Hin und wieder wird das Fenster ja auch wieder freigegeben)

Der Bot startet auf ein Event und wird alle 2 Sekunden gestartet (Das reicht auch).
Während dieser 2 Sekunden hängt das Fenster, danach wird es kurz freigegeben, um dann für die darauffolgenden 2 Sekunden wieder zu hängen.

Sirect
22.03.2009, 11:53
Ich kenne mich ja nicht mit C aus, aber kannst du nicht wie in VB einen anderen Thread erstellen, so dass die Aktionen in diesem laufen und die GUI im ersten?

iNcc
22.03.2009, 11:59
Das habe ich natürlich schon gemacht.
Das Fenster hängt leider trotzdem noch.

blackberry
22.03.2009, 12:15
Sowas passiert in der Regel nur wenn deine für das Fenster registrierte "WindowProcedure" nicht beended wird und somit keine weiteren "Messages" von SendMessage mehr abgearbeitet werden können.

Wenn du den Bot an sich nicht posten willst, kannst du ja wenigstens die kritischen Komponenten, die für das User Interface verantwortlich sind, hier posten - sonst kann dir hier niemand richtig helfen; Wir sind auch keine Hellseher!

iNcc
22.03.2009, 13:17
Danke aber ich habe das Problem mittlerweile selbst gelöst.

(Ich habe den Thread 'falsch' gestartet)