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