02-23-2010 12:39 AM
A teststand queue is filled by a c(++) DLL. How can i get notified within teststand when an element/item was put into the queue that way.
Regards
Rainer
02-23-2010 03:42 AM
Hi Rainer,
where do you need the notification?
If it is in the Userinface you a can post a UserInterface message from your dll to your UI.
If is in the current TS process itself, i would open a new thread and check the queue in a loop if there are some
new elements.
hope this helps
juergen
02-24-2010 03:40 AM - edited 02-24-2010 03:42 AM
Rainer,
i am not sure if you are talking about the thing i am thinking of. It is not really easy to use the very same queue within two different applications (TestStand/your application). There are methods to do this, but they are quite complicated. You can see this approach for example in the modelsupport2.dll in the paralleluutdlg.c in line 809:
static const IID IID_IQueue = {0xFBF33B80,0x86E9,0x11D3,{0xBC,0x07,0x00,0x60,0x08,0xCA,0x11,0xD4}};
If your code does not include a line like this, your code does not work on the TestStand queues! Therefore, TestStand will never know if an element has been enqueued and will never have a chance to retrieve that data!
If you are really using the TestStand queues, you missed to create a "reader" for the queue which is waiting (eventbased as queues do work) for elements.
hope this helps,
Norbert
Edit: Please note that the quoted line of the parallel UUT dialog is not sufficient for picking up the TestStand queue from another application. I only want to point out that if you don't have this line, you will not have the other, needed ones as well.....