[...]
Wenn sich dein Programm an dem Tutorial orientiert, dann können also keine anderen Threads in der Liste herumpfuschen. (wenn du nicht weist, was Threads sind, hast du wahrscheinlich keine Threads programmiert)
[...]
Weil wenn irgendein Ereignis geschieht, dass veranlassen würde das sich die Liste ändert muss dieses Ereignis warten bis das Programm Zeit findet, es zu bearbeiten. Und somit kann das Ändern der Liste erst nach dem Senden der Nachricht erfolgen.
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?
Und solange es keine anderen Threads gibt, kannst du auch sicher sein dass die Liste nicht geändert wird.
Nur auf dem Server gibt es welche. Aber der ist vom Code/Problem nicht betroffen.
Mein Fazit lautet also:
Ich kann den Code so verwenden und muss nicht meine Idee mit der 2. Liste weiter verfolgen.
Gruß und abermals Danke für die Aufklärung, Alex