برای برخی عملیات مثل ارتباط با بانک اطلاعاتی توسط ADO یا پردازش فایلهای XML با MSXML ، برنامه از رابط COM ویندوز استفاده می کنه
هر Thread به صورت جداگانه باید رابط COM رو فراخوانی کنه، در یک برنامه تحت ویندوز، برای Thread اصلی برنامه به صورت پیشفرض یک بار رابط COM فراخوانی میشه اما اگر درون برنامه Thread دیگه ای بسازید و در اون نیاز به استفاده از رابط COM داشته باشید، در شروع کار اون Thread باید تابع CoInitialize رو فراخوانی کنید تا رابط COM فراخوانی بشه
برای پروژه تحت وب مثل Intraweb به صورت پیشفرض رابط COM فراخوانی نمیشه ، با تنظیم ComInitialization برای سرور میتونید تنظیم کنید که رابط COM برای Thread اصلی یا سایر Thread های برنامه فراخوانی بشه اما در صورتی که خودتون Thread حدیدی بسازید باز باید دستور CoInitialize رو فراخوانی کنید و در پایان کار هم با دستور CoUnInitialize اون رو آزاد کنید
Uses
ComObj;
...
CoInitialize(nil);
try
...
finally
CoUnInitialize;
end;