Ja. Ich wollte nicht das
Rad neu erfinden und bin daher strikt nach Anleitung vorgegangen. Ich habe das ganze nur immens aufgebohrt.
Ich programmiere schon mit Threads.
Allerdings ging ich davon aus, dass Ereignisse auch ohne Threads de facto zeitgleich ausgelöst werden und dann abgearbeitet werden können. Kommt eine neue Liste, wird - vom Server gesteuert - ein Ereignis ausgelöst, was diese Liste einfach in die TListBox einträgt.
Wenn ich das jetzt richtig verstehe, würde das Ereignis aber warten müssen, bis mein Sendevorgang beendet ist? -> wieder was dazu gelernt. Das beutet dann aber auch, dass ich an möglichst keiner Stelle im Programm ein
Application.Processmessages;
aufrufen darf, oder?
Ja, genau. Ein Thread kann immer nur an einer Stelle im Code zugleich arbeiten. Dafür gibt es ja die MessageQueue, die die Nachrichten puffert und dafür sorgt das alles schön nacheinander abgearbeitet wird. Diesen Fluss kann man mit Application.ProcessMessages unterbrechen, aber dann kann man sich böse Konsequenzen einhandeln