Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

Threads und Zugriff auf VCL-Komponenten

  Alt 15. Mai 2003, 22:01
Hi Leute,

mal ne allgemeine Fragen zur Multi-Thread-Programmierung :

Situation:
Gehen wir jetzt mal von einem einfachen Chat aus.

Problem :
Ich verwende die Indy TIdTCPServer-Komponente. Jetzt bekomme ich innerhalb der OnExecute Methode des TIdTCPServer meinen AThread: TIdPeerThread innerhalb dieses Threads bekomme ich jetzt Nachrichten wie z.B. Connect UserXY, DisConnect UserXY, ChatText "ich chatte mit Dir".
Jetzt möchte aufgrund dieser Nachrichten auf meiner Main-Form reagieren.
Meldet sich ein User an, so muss der Username in einem ListView hinzugefügt werden.
Meldet sich der User ab, muß er aus dem ListView entfernt werden.
Schreibt der User etwas, so muß das natürlich dem Benutzer angezeigt werden.

Frage 1:
Wie kann ich das alles Thread sicher realisieren ? Laut Delphi-Hilfe müßte ich mit syncronize arbeiten, dabei kann ich aber keine Übergabe Parameter verwenden. Wie also sage ich meinen Thread das er dir Procedure AddUser(newUser : String) Thread-sicher ausführen soll und wie übergebe ich den Usernamen ?

Frage 2:
Oder muss ich wie im Delphi-Demo "Threads" mir meine eigene Thread-Klasse schreiben, diese innerhalb des Indy-Threads mit den benötigten Parametern(z.B. ListBox und Memo) erzeugen ?

Vielen Dank im Vorraus,

Data
  Mit Zitat antworten Zitat