多线程使用ADO操作数据库时,CreateInstance对象回失败,原因主要:
每个线程在使用COM组件之前都必须声明它的 套间类型 ,即在每个线程使用组件对象之前都要调用CoInitialize,并在退出之前调用CoUninitialize。如果在线程中没有调用,对象根本就没有创建出来,继续运行就会访问0指针,就会非法操作了。
AfxBeginThread(aaa,this);
aaa()
{
CoInitialize(null)
....
CoUninitialize();
}