Hi Bilal,
Thanks for your reply. I understand your suggestion and I think it would be a viable way to go, however, it is not clear to me why the CVI application in not processing it's message queue. The activex control is making a call equivalent to PerformSystemEvents while it is waiting to return. I was not very clear in my previous message, let me restate the problem:
My CVI6 application calls a function named "Acquire" on a third party activex control, written with VB6. When I call Acquire, it takes several seconds to return. While inside the Acquire function, I wait in a Do While loop, which continuously calls DoEvents (the VB evquivalent of ProcessSystemEvents) until the function is finished and returns.
If I use the same activex control in a
VB6 app, when I call Acquire the application will process other events (callbacks in CVI) while it is waiting for Acquire to return, because I use DoEvent inside the Acquire function. This is the behavior I expect.
However, this is not the case in a CVI application. The callbacks for the buttons on the CVI app are not processed while waiting in the Acquire function, like they are in a VB app. Why would the VB app process the events, and the CVI app not process them? Is there a way to get a CVI application to work this way without multithreading?
Thanks for your time,
Neil