CoInitialize must be called in a thread that accesses COM (for example, in any thread that accesses your database through ADO). It is called in the main thread by Delphi by default, but you need to explicitly call it in other threads.
Try calling it in the OnActivate event and call CoUninitialize in the OnDeactivate event.
Also make sure that ADOTables and ADOConnections are not open at design time. Otherwise, the application will try to use COM before you call CoInitialize .
If all else fails, try overriding the web form constructor and skip CoInitialize there before you inherit. Remember to call CoUninitialize in the destructor.
source share