Как заставить работать COM объекты в потоке?
01.01.2007
Если вы используете многопоточное приложение то ActiveX(например ADO компоненты) даже созданные в отдельном потоке могут не хотеть работать корректно, из-за неправильной инициализации. Надо чуть-чуть видоизменить DPR файл - в uses добавить модуль ComObj, а самой первой строкой кода в проэкте должно идти:
CoInitFlags:=0;
Application.Initialize;
Что означает инициализацию COM в каждом потоке
Взято с Vingrad.ru https://forum.vingrad.ru