LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

labview expressVI redrop

Hi

 

After changing from LV 7.1.1 to LV 8.0.1 express VIs can't be redropped on the block diagram.  I get error 1004 “The VI is not in memory”. Even through if I load it into memory before redropped I get the same error. I guess the error refers to the specific instance.

 

Does someone have a solution or a better idea?

 

 

(Redrop is necessary when reconfiguring some of my old express VI as the connector pane has changed.)

 

Thanks

 

VRV
0 Kudos
Message 1 of 5
(3,023 Views)

Hello,

One thing you might try is this.  First, make a backup copy of your Express VI's source and config LLBs then mass compile them (Tools - Advanced - Mass Compile) in 8.0.1.  Alternatively, just open your main source VI (the one that gets dropped on the diagram) and press CTRL-S in 8.0.1 to save it.

If that doesn't work, could you provide a copy of your Express VI LLBs, saved in 7.1.1, but simplified as much as possible such that the error still occurs in 8.0.1?

0 Kudos
Message 2 of 5
(3,004 Views)
 

Hello

All VI's are mass compiled (user.lib, vi.lib ect).

I have enclosed 2 zip-files. RedropVer1 and RedropVer2. Both files contain:

  1. NI TestSource.llb  (goes into "....\user.lib\_express\")

  2. "_NI TestConfig.llb"  (goes into "....\user.lib\_express\")

  3. "NI Test.llb"  (goes into "C:\NI Test.llb")

First create an express vi using version 1. Then replace VI's with version 2. The parameter "Type" is added. This works with LV7.1.1 but not in LV 8.0. Have tried changing path to the "template" - both relative and absolute paths - but doesn't work.

You might want to look at "......\vi.lib\express\express input\SimulateSignalConfig.llb "

Thanks

VRV

Download All
Message 3 of 5
(2,975 Views)

Sorry for the delay in response.  First, let me commend you on doing a great job packaging up exactly what I needed to help out with this.  This is sometimes non-trivial to determine, especially with Express VI development.

Ok, so there's a bad news - good news type scenario here.  The bad news is, this redrop functionality has never really been officially supported in customer-developed Express VIs.

That said, I very much understand the need for what you're doing, and have taken the time to debug this and offer you a workaround.  I hope this is useful for you.  There are a few things you will need to do to implement this workaround:

  1. Close LabVIEW.
  2. Make a backup copy of the VI at [LabVIEW 8.0]\vi.lib\express\express shared\ex_Redrop Instance VI.vi.  Perhaps just rename it adding a ".bak" to the end.
  3. Place the attached copy of the same file in the location above, replacing the previous copy.
  4. Modify your version 2 config page VI to build the absolute path to the source VI.  For example, start with the vi.lib constant, strip the path one level, and build on a relative path of user.lib\_express\NI TestSource.llb\NI Test Source.vi

Please let me know if you have any trouble getting this working.

Message 4 of 5
(2,956 Views)

Hi Jeff

Thanks for the reply. It works great. Smiley Happy

VRV

0 Kudos
Message 5 of 5
(2,934 Views)