Hallo,
ich habe ein Programm geschrieben, dass den GUI-MessageLoop Modus (mit While 1-Schleife) verwendet. Das Programm soll ständig auf UDP-Nachrichten "horchen", weswegen ich die Abfrage auf UDP-Empfang auch in der While 1-GUI-Schleife durchführe. Das Problem dabei ist, dass die GUI immer ein wenig "nachhängt", was doch etwas störend ist. Auch die Funktion AdlibEnable brachte mir da keinen Erfolg.
Was ich benötige, sind zwei parallele While 1-Schleifen, wobei eine GUI-Abfragen und die andere UDP-Abfragen durchführt, ohne dass diese sich gegenseitig ausbremsen.
Hier noch ein Teilauschnitt vom Code:
Code
While 1
;~ Receives constantly UDP messages
;~ -----------------------------------------------------------------------------
$syslogmsg = UDPRecv($boundedsocket, $syslogport)
If $syslogmsg <> "" Then
_AddSyslogEntry($syslogmsg)
EndIf
;~ -----------------------------------------------------------------------------
$msg = GUIGetMsg(1)
Select
Case $msg[0] == $GUI_EVENT_CLOSE Or $msg[0] == $exitmitem And $msg[1] = $maingui
If MsgBox(1+64, "Exit", "Do you really want to quit " & $apptitle & "?") == 1 Then
ExitLoop
EndIf
EndSelect
WEnd
Exit
Alles anzeigen