Dear Gilles,
in my opinion you should have only one RunUserInterface in your program, 'cause this is the starting point of all event processing in CVI. Running multiple user interfaces at the same time can give you some strange results, like those you are experiencing.
So I think the best would be that sequence:
- start your CVI program and RunUserInterface
- inside it call the separate routines in your dll
Or another way: in your application keep trace in a global variable wether the userinterface has already started and of number of processes requiring it, start it only if it has not been yet and close it only if you are the last process using it.
Sorry for generic response: I have no experience in calling external code in CVI, but the principle slould be this o
ne.
I hope I help you
Roberto