LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to build a polymorphic type specifier for a dynamically loadable VI

Hi All,
 
In my project, I need to give the client the freedom of developing some custom test VIs that ll be called dynamically into my application.
Those VIs ll ve 5 Inputs & 6 Outputs. As for now, I ve configured them as Dbl datatype. In future, they may develop same 5/6 I/O VIs with Str or Num or Dbl or Arr of any datatype. I ve developed the Type Specifier VI with all IOs as Dbl.
 
When I tried to select assign the VI server class for the type specifier VI Refnum (for type only) Input a Polymorphic VI, it didnt allow me to do so. It showed up that I can select only any one of the sub-VIs of that Polymorphic VIs as the type specifier refnum and not that Polymorphic VI itself.
 
What I thought was, if I can connect that Polymorphic VI itself, I can call n dynamically load any VI with any of the datatypes & connector pane pattern I ve mentioned above in my post. But it seems it is not so.
 
Can experts explain me how to achieve this using only one set of 1 Type Specifier VI & 1 Custom VI that ll be called by a main VI ?
 
Thanks & Regards,
Partha.
- Partha ( CLD until Oct 2024 🙂 )
Download All
Message 1 of 6
(2,806 Views)
Right now it sounds like you have created a polymorphic VI for a set of similar subVIs, and want to call that polyVI dynamically.  You are correct that the call by reference node will not let you point to a poly VI.  It needs a strictly-typed connector pane.
 
If you are calling this poly VI exclusively dynamically, you might try something a little bit different.  Make a separate subVI for each VI in your polyVI, which calls that specific instance dynamically.  Then make your poly VI instead point to these dynamic callers.  You can now call the poly VI directly in your main application.
 
Hope this helps!
Message 2 of 6
(2,802 Views)
hi Jeff,
 
First, thanks for Ur prompt reply.
 
But can U pl explain Ur second para in detail with a small example ?
 
 
- Partha ( CLD until Oct 2024 🙂 )
Message 3 of 6
(2,787 Views)
Yes, sorry for not doing so originally, I realized it might be a little confusing to put into words.
 
problematic.llb simply displays the problems you are describing
 
suggested.llb displays the same example using the solution I suggested
 
Let me know if things are still unclear, good luck!
 
P.S.  There are VIs with the same names in the two LLBs.  Make sure you completely close all VIs in one before opening the other.

Message Edited by Jeff B on 01-23-2007 12:41 PM

Download All
Message 4 of 6
(2,778 Views)
hi Jeff,
 
Thanks for Ur help, yet once again I need it.
 
Can U pl repost the llbs in LV 7.1, bcos I dont ve 8.2.
 
Sorry for not having informed this earlier.
 
Regards,
- Partha ( CLD until Oct 2024 🙂 )
Message 5 of 6
(2,766 Views)
Yes, sorry, I actually thought of this pretty randomly after I'd already gone home yesterday, that you might not have LabVIEW 8.2 and that's what I created the VIs in.  These are saved in 7.1.1.

Message Edited by Jeff B on 01-24-2007 09:18 AM

Download All
Message 6 of 6
(2,756 Views)