LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How Should I Handle This Express VI?

While working on my EXIF reader (getting close), I decided that the best way to have the user select which tags are to be read is with a custom Express VI that browses the tags.  The problem is that, due to a deficiency in LabVIEW, when you move the code that defines an Express VI, it breaks*.  So I will need to create an installer that performs a fixup after copying.  But where should it put the Express VI?

  1. Keep the Express VI with the rest of the EXIF Reader package.
    • Advantage: Keeps everything together.
    • Disadvantage: If the EXIF Code (or the code that calls it, using the Express VI) is moved, the Express VI will be broken until the fixup code is rerun.
  2. Put the Express VI in user.lib.
    • Advantage: EXIF Reader (and code that calls it) can be moved without breakage.
    • Disadvantage: Splits up the code
  3. Put the Express VI in vi.lib.
    • Same advantage & disadvantage as for user.lib.

What do you think?

 

* Inside an Express VI is a link to the configuration VI.  This consists of a path that is either symbolic or absolute.  LabVIEW doesn't update that path when things are moved.

0 Kudos
Message 1 of 9
(948 Views)

Why not put the whole package together in user.lib or vi.lib?

~ The wizard formerly known as DerrickB ~
Gradatim Ferociter
0 Kudos
Message 2 of 9
(932 Views)

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 9
(895 Views)

@JÞB wrote:

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


I make lots of tools.  I don't think it's a mistake to put them anywhere I want.

The actual default folder for homemade Express VIs is:

... \user.lib\_express\

Message 4 of 9
(882 Views)

@paul_a_cardinale wrote:

@JÞB wrote:

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


I make lots of tools.  I don't think it's a mistake to put them anywhere I want.

The actual default folder for homemade Express VIs is:

... \user.lib\_express\


Mistake or not? Sometimes you crash when using other tools. 

Just saying.   Your tools are probably perfect.  The others weren't written by a developer with your standards. 😉


"Should be" isn't "Is" -Jay
0 Kudos
Message 5 of 9
(844 Views)

@JÞB wrote:

@paul_a_cardinale wrote:

@JÞB wrote:

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


I make lots of tools.  I don't think it's a mistake to put them anywhere I want.

The actual default folder for homemade Express VIs is:

... \user.lib\_express\


Mistake or not? Sometimes you crash when using other tools. 

Just saying.   Your tools are probably perfect.  The others weren't written by a developer with your standards. 😉


Lemme see if I understand your position: You're saying that it's ok for me to put my tools anywhere I want because they are perfect; but if other people put their tools wherever they want, LabVIEW will crash because the tools are imperfect and imperfect tools will crash unless they're in a certain location.

Have I got that right?

0 Kudos
Message 6 of 9
(816 Views)

@paul_a_cardinale wrote:

@JÞB wrote:

@paul_a_cardinale wrote:

@JÞB wrote:

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


I make lots of tools.  I don't think it's a mistake to put them anywhere I want.

The actual default folder for homemade Express VIs is:

... \user.lib\_express\


Mistake or not? Sometimes you crash when using other tools. 

Just saying.   Your tools are probably perfect.  The others weren't written by a developer with your standards. 😉


Lemme see if I understand your position: You're saying that it's ok for me to put my tools anywhere I want because they are perfect; but if other people put their tools wherever they want, LabVIEW will crash because the tools are imperfect and imperfect tools will crash unless they're in a certain location.

Have I got that right?


Not quite.  I'm suggesting that some tools that ship such as "Why is this item in dependencies,?"  Have probably never been tested with custom tools in wherever locations.  I really doubt that NI really expected you to develop some of the really cool stuff that I have seen you mention on these forums. 

 

So, my thoughts are to leave MyTools etc...in the default areas to avoid tripping on a rusty nail in the LabVIEW IDE Attic.   When NI opens up new IDE features (e.g. Frameworks) we know that those features really are not completely new.  Often they use existing internal development tools and pound down some ugly things.  [Bash to fit, Spackle to cover, Paint to hide]  It leaves me with an extra sense of caution when I follow a white rabbit into acrane LabVIEW holes containing a hookah-smoking caterpillar. 


"Should be" isn't "Is" -Jay
0 Kudos
Message 7 of 9
(801 Views)

@JÞB wrote:

@paul_a_cardinale wrote:

@JÞB wrote:

@paul_a_cardinale wrote:

@JÞB wrote:

An ExpressVI is a development tool. In my opinion, it would be a mistake to move the configuration VI anywhere other than the default location. IIRC, that is <LabVIEW>\vi.lib\ExpressVI\...or thereabouts.  Then, just configure the proper destination in the installer or package .


I make lots of tools.  I don't think it's a mistake to put them anywhere I want.

The actual default folder for homemade Express VIs is:

... \user.lib\_express\


Mistake or not? Sometimes you crash when using other tools. 

Just saying.   Your tools are probably perfect.  The others weren't written by a developer with your standards. 😉


Lemme see if I understand your position: You're saying that it's ok for me to put my tools anywhere I want because they are perfect; but if other people put their tools wherever they want, LabVIEW will crash because the tools are imperfect and imperfect tools will crash unless they're in a certain location.

Have I got that right?


Not quite.  I'm suggesting that some tools that ship such as "Why is this item in dependencies,?"  Have probably never been tested with custom tools in wherever locations.  I really doubt that NI really expected you to develop some of the really cool stuff that I have seen you mention on these forums. 

 

So, my thoughts are to leave MyTools etc...in the default areas to avoid tripping on a rusty nail in the LabVIEW IDE Attic.   When NI opens up new IDE features (e.g. Frameworks) we know that those features really are not completely new.  Often they use existing internal development tools and pound down some ugly things.  [Bash to fit, Spackle to cover, Paint to hide]  It leaves me with an extra sense of caution when I follow a white rabbit into acrane LabVIEW holes containing a h****h-smoking caterpillar. 


Interesting that you mention "Why is this item in dependencies?".  I've never seen it work; in any version of LabVIEW.  It always crashes LV when I try it.

 

Interesting side note: When I initially tried to post this response, it was rejected with the message:

The message body contains h****h, which is not permitted in this community. Please remove this content before sending your post.

Although, in that message, they spelled out the word h****h.  Apparently, I'm not allowed to use that word (but you are).

0 Kudos
Message 8 of 9
(783 Views)
See pm

"Should be" isn't "Is" -Jay
0 Kudos
Message 9 of 9
(766 Views)