LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

dependencies not in application builder

Hello,

 

I am having an issue building a large application with some subpanels and dynamically called VIs.  I think the problem is that the dependencies are not showing up in the application builder.  Under the Source Files category only 1 VI is listed, and under the source files settings there is a Dependencies Entry on the project tree but it does not expand when I select "show all" so I think my dependencies are not getting included.

 

The strange thing is that in the Project Explorer the dependencies are all listed- see below.  Any suggestions?

0 Kudos
Message 1 of 9
(5,095 Views)

 

Have you tried just dragging those dependencies up to your main project hierarchy..? This should make them show up in that other list.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 2 of 9
(5,048 Views)
How are you calling the dynamic VIs - by Name/Path or by Static Reference?

If it's by a static VI reference - they will get automatically included in your build specification.

If it's by name or path, you'll have to add them to your project and then put them in the 'always include' section of your build specification.

LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 3 of 9
(5,024 Views)

Thats the thing- the dependencies are in the project.  I just can't get the application builder to recognize the dependencies.  I can't seem to add them manually.

 

 

Thanks

0 Kudos
Message 4 of 9
(5,008 Views)

Sam,

 

I am calling the dynamic VIs by path.  The dependencies in the project contains all of the dynamic VIs but for some reason I am not getting any depenedencies to show up in the applicaiton builder so I can't manually add them to the "Always Include" list. 

 

 

 

Any clues as to why none of the dependencies in the project show up in the application builder?   See Picture-

0 Kudos
Message 5 of 9
(4,998 Views)

What you show in the project window are the automatic dependencies. That are all VIs that LabVIEW has determined will be needed by any of your VIs that you added explicitedly to your project. These dependencies will NOT show up in the build specification for an application build. And since they are already automatically recognized by LabVIEW as dependencies in your project, you shouldn't need to add them explicitedly in your build specification.

 

If you have VIs that you call asynchronously or open through VI server dynamically and which are not part of your main VI hierarchy in other ways, you have to explicitedly add those VIs to your project tree. You can also add library functions explicitedly to your project tree that your application makes use of and they will then disappear from the Dependency section in the LabVIEW project, since LabVIEW recognizes that they are explicitedly part of the project and don't need to be treated as automatic dependencies anymore. You can also add them then to your build specification as always included but that won't make a change for the build since they already get included automatically as part of the VI hierarchy of the VI you specified as top level VI, and adding that subVI as always included VI won't make a difference.

Rolf Kalbermatter
My Blog
0 Kudos
Message 6 of 9
(4,984 Views)
Yeah, as rolfk has expanded on - automatic dependencies includes things like vi.lib VIs so the build specification window only shows VIs that are explicitly referenced in the project (not in automatic dependencies).

From the looks of it, you only have one VI in your project - the main VI? I'm curious as to why your dynamic VI appears in the dependencies - it shouldn't if it's only referenced by path and isn't called from another VI in the project (or maybe in a diagram disable or something?).

LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 7 of 9
(4,953 Views)

@James.M wrote:

 

Have you tried just dragging those dependencies up to your main project hierarchy..? This should make them show up in that other list.


So it sounds like your answer is "no". As others have said, do this to include items in your project and be able to use them in your build specifications. LabVIEW handles dependencies differently than added project items.

 

It looks like to me like you created your main VI without using a LV project and then decided you want to build an executable, so you went to Tools > Build Application from VI... What you're seeing now is the down-side of doing that way. All of your dependencies (dyanamic or not) need to be managed or you may run in to a whole other set of issues. Based on your screenshots, you have a very large set of subVIs that aren't managed properly in a LV Project. This is incredibly reckless and you will probably end up doing some extra work if you have to do any changes to your code.

Here's a helpful resource.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 8 of 9
(4,932 Views)

Ok first off thanks for all the suggestions and I apologize for the late update but I finally got all of the dynamic VIs to either load in the subpanels or launch on their own (by specifying a path).  What did the trick was dragging the VIs up from the dependencies up into the main project (as was suggested) and I also had to specify the build use the 8.x file path formatting in the advanced section.

 

I appreciate all the suggestions and using a combination of all of them helped me get to a solution.  Thanks again to all those who took the time to help with this issue.

0 Kudos
Message 9 of 9
(4,871 Views)