LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"Get VI Dependencies" VI method identifies Express VIs (LV2010,sp1)

Solved!
Go to solution

Greetings,

      It seems "Get VI Dependencies" may include "paths" to Express VIs.

The name of the [Express] VI is "0" and the calling VI is in the path.

Example path: "<myFolder>\<myVI.vi>\0"

 

Not sure whether this is expected behavour, though, it's inconvenient while processing a VI hierarchy! ;^)

 

-

 

 

0 Kudos
Message 1 of 9
(3,211 Views)

550nm,

This is expected behaviour. Since Express VIs are also VIs, they will be listed.So will controls and type-defs that you create.

 

Regards,

Prashanth N
National Instruments
0 Kudos
Message 2 of 9
(3,205 Views)

Prashanth,

      While Controls can be explicitly excluded from results,  Express VIs cannot, yet, Express VIs can't be "Opened" and tested  - "is this an Express VI?". They merely result in a useless path that the programmer must make an exception for.

 

I doubt a useless path is "Expected behaviour", though if so, then the switch to exclude them is missing.

 

 GetVIDependencies.png

 

 

 

 

0 Kudos
Message 3 of 9
(3,194 Views)
Solution
Accepted by topic author 550nm

Two ways around this:

 

1) Right-click on the Express-VI and Open Front Panel >> Convert it to a standard VI, and name it something useful.

2) Don't use Express-VI's.

Richard






Message 4 of 9
(3,187 Views)

... third option,

ignore paths that end "<someVI>\%d"

 

Broken Arrow, Thanks.

I really dislike  Express VIs, but how else do you get a "File Dialog"?

 

EDIT:

OK, when opened/saved, there are still "express" calls into VI.lib, but all the paths are normal.

Thanks again.

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

@550nm wrote:

I really dislike  Express VIs, but how else do you get a "File Dialog"?


To find a plain-Jane function for that, do a search while on the block diagram for "file dialog". You will find the Express VI, and a function called File Dialog - which is at the core of the Express VI if you dig down enough.

Use that core function as-is, or use it to write your own File Dialog VI for your needs. No Express VI's Needed!

Richard






Message 6 of 9
(3,169 Views)

@broken Arrow wrote:
... No Express VI's Needed!

OK.  Had to do the "Open Front Panel" trick a couple/few times, but there it is - the good-old "FileDialog" primitive,  (oddly absent from File palette...)

 

Perfect!  Kudos!
OpenFileDialog.png

0 Kudos
Message 7 of 9
(3,164 Views)

@550nm wrote:

Prashanth,

      While Controls can be explicitly excluded from results,  Express VIs cannot, yet, Express VIs can't be "Opened" and tested  - "is this an Express VI?". They merely result in a useless path that the programmer must make an exception for.

 

550nm,

As broken Arrow correctly pointed out, Express VIs can be opened and used as normal subVIs, and hence it makes sense to include them in the paths returned. As far as LabVIEW is concerned, it is still a dependant VI. I'm glad you found the primitive you needed, but it concerns me that you dislike Express VIs. We welcome your feedback on how you would like it to be. 🙂


Regards,

 

Prashanth N
National Instruments
0 Kudos
Message 8 of 9
(3,143 Views)

@_Pachi_ wrote:

@550nm wrote:

Prashanth,

(snip) , but it concerns me that you dislike Express VIs. We welcome your feedback on how you would like it to be. 🙂


Regards,

 


Hi Prashanth,

      Don't be concerned!  Express VIs make it easy to obtain functionality, however, if a value is placed on the clarity of code - being able to understand a diagram "at a glance" - then Express VIs often hide critical logic and parameters from the source-code.  For instance, the "File DIalog" primitive doesn't convey "Selection Mode", the "Curve Fitting" Express VI doesn't have an input for the "Model" (a fairly important parameter.)

 

I don't like diagrams which are unnecessarily difficult to understand, so, don't like Express VIs! Smiley Wink

 

Cheers!

0 Kudos
Message 9 of 9
(3,111 Views)