Je fais une architecture avec des plugins qui sont des DLL et j'utilise parfois des TThread dans ces DLL qui sont chargé dans une application. Tout le monde, sait que pour qu'un TThread puisse agir sur un contrôle de la VCL, il faut passer par la méthode Synchronize.
Ceci fonctionne à merveille quand le Thread appartient à l'application, mais quand ce Thread a été créé dans la DLL, alors au passage sur la méthode Synchronize, l'application bloque.
Dans la littérature, il est dit que le Thread rend la main au Thread principal de l'application pour lui permettre d'agir sur les contrôles pour éviter les accés concomitant.
Je pense que le code de la DLL n'arive pas à rendre la main au Thread principal de l'application.
Si toute fois, une personne a une idée sur la question, je vous en remercie.
Partager