1. 程式人生 > >CVI程式執行時異常整理

CVI程式執行時異常整理

Q:ActiveX controls cannot be created in a thread whose concurrency model is multithread apartment (MTA)

A:The fix to this issue is to call CA_InitActiveXThreadStyleForCurrentThread prior to calling NiScope_Init.  The explanation of this is that the ActiveX controls need to run with the apartment-threading-model (STA).  When the CVI run-time encounters an ActiveX control it will initialize the thread to STA.  What is happening is that NiScope_Init is probably initializing this to a multi-thread-apartment(MTA) first, so it is running into a conflict when the CVI run-time tries to run it on STA since its already initialized on MTA