In zijn algemeenheid zijn VCL-componenten niet thread-safe. Er zijn echter uitzonderingen. Hoe zit het in zijn algemeenheid met non-visual OLE controls?
Ik zal mijn specifieke situatie toelichten. Ik gebruik een data-acquisitie device om externe hardware aan te sturen. Daarmee kan ik communiceren via een aantal functies in een DLL, maar ook via een paar OLE controls die Delphi zelf heeft gegenereerd uit een type library (een .ocx-bestand). Ik vermoed dat de type library weinig meer omhelst dan een wrapper om de DLL-functies, maar dat weet ik niet zeker.
Aangezien de DLL-functies thread-safe zijn, zijn de functies in de geïmporteerde dispinterface dat waarschijnlijk ook. De TOleControl is simpelweg een automatisch gegenereerde wrapper rond de dispinterface. Kan ik er zeker van zijn dat deze TOleControl thread-safe is?
Ik zal mijn specifieke situatie toelichten. Ik gebruik een data-acquisitie device om externe hardware aan te sturen. Daarmee kan ik communiceren via een aantal functies in een DLL, maar ook via een paar OLE controls die Delphi zelf heeft gegenereerd uit een type library (een .ocx-bestand). Ik vermoed dat de type library weinig meer omhelst dan een wrapper om de DLL-functies, maar dat weet ik niet zeker.
Aangezien de DLL-functies thread-safe zijn, zijn de functies in de geïmporteerde dispinterface dat waarschijnlijk ook. De TOleControl is simpelweg een automatisch gegenereerde wrapper rond de dispinterface. Kan ik er zeker van zijn dat deze TOleControl thread-safe is?
Een goede grap mag vrienden kosten.