LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to have DLL made out of LabVIEW user interfaces ?

I want to have a module, (which is also a user interface) added to an existing application online?. How can this be achieved. I think it is possible through use of DLLs, but i dont know how do i make a call to this DLL from my existing application during runtime?. Moreover my DLL will need to have a user interface. Is it allowed ?.
0 Kudos
Message 1 of 7
(3,071 Views)
I'm not sure exactly what you mean. DLLs should be used to exploit existing code (in LV, usually written in another language). They are sets of functions which perform action and return results when called. They do not have a UI.
Do you have an existing DLL which you want to call from LabVIEW? Do you want to write a LV DLL which will be called from an existing application? What do you mean by needing a user interface?
Give us more details.

___________________
Try to take over the world!
0 Kudos
Message 2 of 7
(3,056 Views)
Thanks for reply.
OK, I have a problem. The problem is as follows:
I have a huge application. Now i want to add new modules (VIs) to this application. These modules are similar but not same. I have concluded that there cannot be a generic VI for all of them. Now at certain point in time, i have to plug in a new module. This is not possbile presently, without recompiling the entire code. What i want to do is to add a new module (LV code) without recompiling the entire application. How can i do it?. I thought of creating a DLL. However my module has a User Interface. Hence i cannot even cannot create a DLL. Secondly, how do i configure a DLL at runtime(without recompiling the application)?.
0 Kudos
Message 3 of 7
(3,044 Views)
You CAN create a DLL with a UI. All you have to do is set the VI Porperties to Dialog Box and the front panel will be displayed. So, if you rewrite your main application to dynamically load DLLs, this should work. You will need to have common inputs and outputs on all your DLLs so that they share the same function prototype. The other way doesn't require you to create a DLL. There is a shipping example called Plug In Example. It uses a Call By Reference Node to dynamically call VIs. In the example, plug in VIs are put in a specific folder and a list of them is generated. The user can select which plug in VI to execute. Agin, you will need to have common inputs and outputs so that the Call By Reference will work.
Message 4 of 7
(3,038 Views)
Thanks for reply.
I will go through the Example VI. But if the plugin VI access the same piece of hardware as main application, will this method work or there will be hardware sharing conflict ?.
0 Kudos
Message 5 of 7
(3,011 Views)

@Dennis Knutson wrote:
You CAN create a DLL with a UI. All you have to do is set the VI Porperties to Dialog Box and the front panel will be displayed.


Thanks Dennis. I never actually had the need to use a LV DLL inside LV. You get yet another 5 stars.

___________________
Try to take over the world!
0 Kudos
Message 6 of 7
(2,997 Views)
Having a dynamically called VI access a piece of hardware is no different than having a statically linked subVI access the same hardware as the main. A potential conflict is not going to disappear simply because you call a sbuVI in a different way. The same is true if you tried to call a DLL. If there's a potential for conflict, you'll have to have a mechanism for dealing with it. What kind of hardware are you talking about?
0 Kudos
Message 7 of 7
(2,989 Views)