Entwickler-Ecke

Internet / Netzwerk - INDY und Thread frage


matze - Mo 06.10.03 15:04
Titel: INDY und Thread frage
hallo !
ich bin mir jetzt nicht so 100%ig sicher dass die frage hier rein passt. aber egal.

der indy TCP server benutzt ja bei allen seinen ereignissen threads. also wenn ich einen request an den server schicke wird doch mein code den ich zur behandlung im execute ereignis benutze in einem thread gestartet.
meine frage:
darf man denn aus diesem thread auch z.b. editfelder ändern ? ich hab da mal was mit synconize gelesen ?? wie setzte ich das richtig ein ?


MSCH - Di 07.10.03 15:46

Grundsätzlich dürfen Threads nicht auf Teile andere zugreifen - deine Hauptanwendung ist aber auch ein Thread. Mit der Function Synchronize() kannst du Funktionen aufrufen, die auf VCL Objekte zugreifen. Das BS stellt dann sicher, das alles threadkonform abläuft.

z.b.
Edit1 ist ein Feld der Anwendung und dein Thread Test soll darauf zugreifen können.

1. Übergebe das Editfeld dem Thread und speichere die Referenz in der Threadklasse ab.
2. Schreibe eine Funktion im Thread, die den Text im Editfeld ändert
3. Rufe Snychronize(mit dem Funktionsnamen siehe 2.) auf

fertig.

//edit: schau mal hier:http://www.delphi-forum.de/viewtopic.php?t=16615&highlight=

grez
msch


matze - Di 07.10.03 17:24

versteh ich nicht. ich steh da komplett aufm schlauch ! :? :? :?


MrSaint - Sa 11.10.03 10:09

Sehr gutes Tutorial zu Threads: http://www.pergolesi.demon.co.uk/prog/threads/ToC.html


MrSaint


matze - Sa 11.10.03 13:00

danke, ich werd mir das mal anschauen