Gleichzeitige Arbeit mit mehreren Widgets



  • Ich schreibe grade ein Chatprogramm. Ein Fl_Output soll immer den Text, den der andere eingegeben hat anzeigen (schleife die mit receive (winsock) den text des parteners holt und in den Fl_Output setzt), währenddem man selbst mittels eines Fl_Inputs Text eingeben kann. Die einzige Möglichkeit, die ich bisher gefunden habe war es die Textein- und ausgabe in getrennten Programmen unterzubringen, aber es muss ja auch anders gehen - Nur wie?

    DER NETZWERKTEIL IST KEIN PROBLEM - ES GEHT MIR IN MEINER FRAGE NUR UM DIE GLEICHZEITIGE ARBEIT MIT MEHREREN WIDGETS - ALSO MACHT EUCH BITTE NICHT DIE MÜHE MIR DEN NETZWERK TEIL ZU ERKLÄREN


  • Mod

    BRÜLL HIER BITTE NICHT SO RUM! danke.

    Was dein Problem angeht, so könnte evtl. ein Thread helfen, welcher dann per Eventmessage jeweils den Server input
    an das Programm schickt (direkt ans richtige Fenster), und umgekehrt könnte vom input Control ein Event an den Thread
    gehen, wenn ein neuer Text gesendet werden soll.



  • Erst einmal möchte ich mich entschuldigen, falls jemand meinen dickgedruckten Text missverstanden hat. Er war keineswegs als gemeines/böses Brüllen gedacht, sondern nur um euch freundlichen Helfern überflüssige Arbeit zu ersparen. Sorry, war nicht so gemeint

    Was die Threads betrifft, so werde ich mich wohl mal mit Multithreading vertraut machen müssen, oder? (Darum habe ich mich bis jetzt immer gedrückt)


  • Mod

    Nicht unbedingt, in manchen Toolkits könnte man das auch auf der Event ebene lösen.
    Kenne mich aber in FLTK nicht aus.



  • Mir ist grade aufgefallen, dass mein Problem noch weiter geht als ich bisher gedacht hatte. Kann mir jemand erklären wie man in einem FLTK Programm Aktionen druchführen kann, die nicht über den Callback eines Widgets aufgerufen werden ?
    Ich kann sie ja schlecht in die main Funktion stecken, weil sie ja sonst den Aufruf von FL::run() verhindern würden. Vielleicht könnte mir ja jemand der sich mit FLTK auskennt ein klitzekleines Beispiel schreiben ? Fände ich echt toll von euch


Anmelden zum Antworten