To mbrost -
Microsoft requires that ActiveX controls be loaded and called from an STA thread,that is a thread that calls CoInitializeEx(COINIT_APARTMENTTHREADED). When you write an application, typically the GUI thread is STA by default. All of TestStand execution threads are MTA by default ColIntiializeEx(COINIT_MULTITHREADED). TestStand uses MTA threads so that it can easily share ActiveX references without any special preprocessing requirements.
For TestStand 2.x you must wrap all calls to the DLL in code that creates and uses a worker thread to host the the ActiveX control. The worker thread must be initialized as STA and must stay around while the Active control exists. Once the control is destroyed, the thread can be released.
New to Test
Stand 3.0 is an advance sequence call setting that allows an execution thread to call a subsequence in a separate thread but specify that a subsequence call uses an STA thread instead of an MTA thread.
Scott Richardson (NI)
Scott Richardson
https://testeract.com