PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Zwei events



Ricky
11.12.2003, 20:18
Kann mir jemand von euch sagen, wie ich zwei verschiedene Prozesse gleichzeitig laufen lassen kann? Also z.B. dass man auf einen Button1 drückt, erscheint ein Bild, was immer wieder größer und kleiner wird. Und wärend das läuft kann man auch auf einen Button2 drücken, und dann kommt ein zweites Bild oben in der linken ecke und bewegt sich in die rechte Ecke.:\

MuadDib
11.12.2003, 20:38
Eine Möglichkeit die mir vorschwebt wären lightweight processes, sogenannte Threads - leider hab ich mich mit Threading in C++ noch nicht so sehr beschäftigt, aber mit diesem Tutorial (http://cplus.kompf.de/artikel/threads2.html) dürfte das wohl kein Problem sein :)

MuadDib
13.12.2003, 00:23
Neuer Beitrag, damits nicht untergeht...

Update:
Also, in dem Tutorial wird das JTC-Paket (Java-like Threads for C++) verwendet. Ich bin zwar zu faul, um mir das jetzt genau für C anzusehen (darüberhinaus hab ich kein GUI-Toolkit installiert, und ich hab mir geschworen in C nie wieder selbst GUIs from scratch zu programmieren ...), aber das ganze mal in Java implementiert (http://spitzbuam.hostit24.de/twoprocesses/applet.htm)

Zwar wir die Grafik-Darstellung komplett anders sein, aber die Threads funktionieren wenigstens auf ähnliche Weise, vielleicht kannst du ja was damit anfangen (wenn du nicht mehr brauchst, machs einfach in Java :)).

P.S.: Der Kasten oben, der von links nach rechts geht, geht in Schneckentempo...

Hippokrates
13.12.2003, 21:59
Threads kann man auch einfach simulieren, indem man eine Schleife schreibt, die jeden Frame alle Objekte aktualisiert. Die kann dann bei Bedarf das Bild ein bißchen bewegen und eben danach noch überprüfen ob Button 2 gedrückt wurde...

MuadDib
14.12.2003, 05:34
Hm... wie synchronisiert du dann die Benutzereingabe und die Aktionen innerhalb der while-Schleife? Oder lässt du das mittels Consumer-Producer-Modell laufen?

Ricky
22.12.2003, 00:48
und was, wenn das nicht funktioniert?