LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Can a CVI Project control a Panel which was created and loaded into Memory from a different Project

Hi ,

I am again posting this question in a new seperate thread.

Here is it,


I have a set of Panels(One Parent and 'n' child panels) that are regularly updated in my application(in no particular order).


Now , I also want to the user to be able to view any particular child panel he wants by clicking on the Main Panel.I want the user to have this ability completely throughout my application.


If i make a RunUserInterface() call and if i start processing user events, I will not be able to update my panels whenever i want them to.


The above said is true,if my programming happens in a singe thread.


Now, I have two questions.


First:


Is there a
nyway apart from Multithreading , where Ill be able to solve the above problem,ie I should be able to update my panels as well as use process user events for my panels, simultaneously.


Second:


If I can do it only with Multithreading, will i be able to do it in Labwindows CVI 5.0.1


I cannot create a stand alone executable, for different constraints.So, I will be running my application from the project window.

Thnks in advance
0 Kudos
Message 1 of 3
(2,591 Views)
Hello

I guess I got a little thrown off by the title "panel loaded by another project". Are you trying to control one exe from another (inter - process control) ? Unless you have changed the project settings to generate a dll, Im going to assume that these panels are being loaded in some executable that you have created. And that, you want to be able to control those panels from another executable generated in another project.

One way you could have done this is if you made an activex server out of the controllee application, and the controller could be the activex client. But for that you would need CVI 6.0.

Another way for cross process communication ( in CVI 5.0) would be to use tcp.

If you just want to make sure that all your panels get updated corr
ectly (in the same process ), ProcessSystemEvents() and ProcessDrawEvents() should do the trick

I hope this helps

Bilal Durrani
NI
Bilal Durrani
NI
0 Kudos
Message 2 of 3
(2,591 Views)
Bilal,

Thanks very much.

I think, I will use DDE, for cross process communication.

Rajev.
0 Kudos
Message 3 of 3
(2,591 Views)