Hello
I doubt that these functions would cause such a difference in performance. Do you have any sample app I could use to test this out? Going from Vb 6 to C++ is quite a big change and I would like to see how you have set this up. Are you making use of multiple threads in your test application?
There really is no way to disable these functions in the C++ class libraries. In the VB ActiveX controls, we were going similar operations to check the status, but we were directly accessing the ib globals to check their status (which is why you dont see any status checking calls in NI Spy when you used the CWInstr ActiveX controls). VB 6 is pretty much single threaded and so you do not need thread specific status information.
But the C++ class libraries allow for more versatile use, since C++ applications can easily be multiple threaded. The libraries need to be able to provide the user with error information that might be specific with the thread in which the function is being called and so we use the thread specific status functions like ThreadIbsta after each function call.
Based on the benchmarking and testing we have done internally, you should not see such a significant difference in performance between the two APIs, especially if the tasks are the same.
You can turn off exceptions for the Cni4882 libraries by calling the static method CNiException::SetExceptionMode(). But again, this would not turn off the thread specific status checking built into the libraries.
I would like to test out your sample app on my system and see if I can reproduce the effects you are seeing. If you have a VB 6.0 app that I could compare it to, that would help as well.
Thanks
Bilal Durrani
NI
Bilal Durrani
NI