Ik heb de volgende situatie:
-Main thread die bestaat uit een aantal formulieren
-idTCPServer component (Indy 9) wat een aparte thread is (is standaard zo)
Die idTCPServer staat dus continu te luisteren of er wat binnenkomt en zodra er wat beschikbaar is voert die de OnExecute event uit.
In deze event bekijk ik wat precies de informatie is. Afhankelijk van deze informatie moet deze data doorgestuurd worden naar een bepaald formulier in de main thread.
Echter je kan niet zomaar vanuit die OnExecute event direct dat formulier aanroepen om zo de gegevens van de idTCPServer door te geven aan de procedure in dat formulier.
Dus in het formulier in de main thread heb ik een public procedure:
procedure HandleData(Data: String);
die verder de ontvangen data afhandelt in de main thread.
Normaal gesproken moet je dit oplossen met Synchronize. Alleen je kan dan geen parameters meegegeven. Dus hoe kan ik dan ooit die gegevens daar brengen?
-Main thread die bestaat uit een aantal formulieren
-idTCPServer component (Indy 9) wat een aparte thread is (is standaard zo)
Die idTCPServer staat dus continu te luisteren of er wat binnenkomt en zodra er wat beschikbaar is voert die de OnExecute event uit.
In deze event bekijk ik wat precies de informatie is. Afhankelijk van deze informatie moet deze data doorgestuurd worden naar een bepaald formulier in de main thread.
Echter je kan niet zomaar vanuit die OnExecute event direct dat formulier aanroepen om zo de gegevens van de idTCPServer door te geven aan de procedure in dat formulier.
Dus in het formulier in de main thread heb ik een public procedure:
procedure HandleData(Data: String);
die verder de ontvangen data afhandelt in de main thread.
Normaal gesproken moet je dit oplossen met Synchronize. Alleen je kan dan geen parameters meegegeven. Dus hoe kan ik dan ooit die gegevens daar brengen?