Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#5
  Alt 16. Mai 2003, 14:39
Hi,

@OrallY:
Mein Problem besteht darin, das ich innerhalb meines Indy-Threads Methoden der Main-Form nicht Thread-sicher aufrufen kann !
Ok, das Bsp. mit AddUser sollte auch ohne Synchronize laufen, aber jetzt nimm mal z.B. DeleteUser !
Wenn ich zwei Idy-Threads im EReignis OnExecute am laufen habe und beide rufen DeleteUser der MainForm simultan auf, dann war's das
Oder noch besser, wenn ich einen Chat-Text von einem User erhalten und diesen in einen Datei speichern will und diese Datei zur Anzeige wieder laden will.
WEnn jetzt zwei Indy-Threads beide versuchen in die Datei zu Schreiben, was passiert dann ?!
Deshalb sollte ich auf jeden Fall mit Synchronize arbeiten, die Frage ist nur wie !
Innerhalb des Indy-Threads kann ich nicht Synchronize(addUser('Karl')); aufrufen. DA Synchronize ja nicht mit Parametern aufgerufen kann.

Deshalb jetzt meine Überlegung :
Ich schreibe meine eigene Thread-Klasse myAddThread, myDelThread u. myChatThread.
Innerhalb des Indy-Threads lese ich die Nachricht des Clients aus und erzeuge dann anhängig von der Nachricht einen myAddUserThread, myDelThread oder myChatThread, die dann auch ohne Frage die VCL-Komponenten thread-sicher aufrufen können.

Ich wollte jetzt nur wissen, ob das der richtige Denkansatz ist, oder sollte ich das besser anders realisieren ?

Gruß,

Data
  Mit Zitat antworten Zitat