LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DLL front panel display

Solved!
Go to solution

Hi all

 

I need to interface to an existing program via a DLL.

 

The existing program loads custom "drivers" for hardware these "drivers" can display a debug screen that is docked in the calling program.

 

How do I write my dll for the calling application to be able to call a display panel function in my dll and return to the main program with out closing the dll displayed panel.

 

Currently when the app calls the dll it will wait for me to close the displayed panel before continuing. I will try to solve the docking problem later.

0 Kudos
Message 1 of 9
(5,994 Views)

Hi PercyH,

your function should only load the display as a parallel proecess and leave then. It shouldn't wait on an event from your display.

 

Mike

0 Kudos
Message 2 of 9
(5,989 Views)

Thanks Mike

 

I asumed that this is what I need to do But is not sure how to do this.

 

I have two vis in the dll at the moment to keep things simple. One that is the actual display VI and one that opens the display VI. But I am not sure about the implementation.

0 Kudos
Message 3 of 9
(5,985 Views)

Hi PercyH,

ah ok your are writing the dll with LabVIEW. You can use the Vi Server function to start your display vi as a parallel process. Open the reference to this vi and use an invoke node to start it.

 

Mike

0 Kudos
Message 4 of 9
(5,982 Views)

Thanks Mike

 

I tried that. It works if the vi si run seporate from the DLL, ie I ref it from the location on the disk.  Is this the only/best way to do this?

It opens a new ap on the windows task bar. I don't like that. I might have 20 dll's running at a time.

 

0 Kudos
Message 5 of 9
(5,977 Views)

Hi PercyH,

what do you mean with "separate from the DLL"? I thought you want to load it from inside the dll. All windows have a button in the taskbar, but i think if you really need, then you can hide them.

 

Mike

0 Kudos
Message 6 of 9
(5,975 Views)

Hi Mike

 

I mean that I have to reference with a path to the vi on the hard drive. (see attached code on the previous post) When the program is installed the Display vi must be part of the DLL and not a VI that is also saved on the hard drive.

 

 

Thanks for your assistance I really appreciate it.

0 Kudos
Message 7 of 9
(5,961 Views)
Solution
Accepted by topic author PercyH

Hi Percy,

you have to add the display vi as always included in your build specification. Call the vi with a relative path.

See the attached picture. This works, because all vi's lie side by side in the dll.

 

Mike

0 Kudos
Message 8 of 9
(5,958 Views)

Thanks mike

 

enjoy your day

0 Kudos
Message 9 of 9
(5,952 Views)