Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

import existing actors in new project

Solved!
Go to solution

Dear actor friends,

 

I'm totally new in LV, not much experienced in OOD/P, some knowledge about the actor concept... 
Meanwhile I learned to use DETT and redesigned and tested some actors. 
My job is to bug-fix, refactor, modify and adapt an existing actor-framework-based LV application with about 30 actors (10 different types).  At the moment I stuck when a try to use/import some existing and tested actors.lvlibs in a new project.lvproj....


How do I properly import .lvlibs (actors) in the new project I like to let grow up? With "save as (copy option)" the path for the actor in the original project will be modified to the destination of new copy.

 

I've seen some similar topics in the forum but not found a closing answers

 

Thanks a lot for any hints.

0 Kudos
Message 1 of 7
(1,313 Views)

Is your question aiming at how to get libraried in a LabVIEW Project?

 

Are you using source code control like SVN or git?

0 Kudos
Message 2 of 7
(1,301 Views)

thanks for your fast reaction...

 

my question is maybe more general... how to reuse the already developed actors? I supposed they should be part of the project and not only a dependency (maybe I'm wrong?) and then I have to bring the .lvlibs into the project... and obvious there are discussion how to do that which shows that it's not obvious and I also have some problems but are not experienced in LabVIEW

0 Kudos
Message 3 of 7
(1,295 Views)
Solution
Accepted by topic author LVrooky

lvlibs are a suitable base for code reuse (please keep in mind, that the actual lvlib file is just a description of the content of the library, the library itself consists of multiple files, maybe even in directory structures)

 

lvproj files are similar, they describe (among other things), which components are required by the project. For example which lvlibs you intend to use. Libraries you add to to your project files become explicit dependencies and you will be able to browse them quite conveniently.

 

https://www.ni.com/docs/de-DE/bundle/labview/page/managing-a-project-in-labview.html

 

I suggest you create a new project in a new folder and place your required lvlibs in a folder structure beneath. Add your lvlibs to the lvproj and you should be quite good.

 

BTW.... this is nothing really actor specific, more general good practice

 

Message 4 of 7
(1,274 Views)
Solution
Accepted by topic author LVrooky

I'm assuming you already have separate folders for each project. Just copy the old actor into the new project folder, then add it to your project (either drag it in from Windows, or Right Click / Add to your project).

 

But I'd guess you tried it already, because you mention having problems importing. The most likely problem is some missing dependencies.

 

For example, imagine the old project has Actor A that borrows/reuses something from Actor B. If you copy only Actor A into the new project, it will give problems because it can't find those dependencies in Actor B (because you didn't copy it).

 

With more time you will get skilled at quickly separating Actor A and Actor B in a very clean way for copy/paste reuse. But if you're new to this, I'm afraid it will take some experimenting while you learn. There is no "One Right Way" to do it; this is the art side of LabVIEW development.

Message 5 of 7
(1,254 Views)

Dear all

 

thanks very much for the very fast help, hints and recommendations.....

 

the challenge is that my skills are limited and the actors I have to use are more coupled than cohesive....

 

during my first tries, LabVIEW added all the needed dependencies (to the original location, which may usually make sense for .lvlibs), the import/add of further actors generated many conflicts and strange thing, I do not yet understand and I'm not able to solve in a efficient way at the moment....

 

physically copying and then adding in the project seems to work for me.... 

thanks OneOfTheDans and Oli_Wachno

 

0 Kudos
Message 6 of 7
(1,240 Views)

Additionally, you could try to determine the launch dependencies from the old project. Starting with the main VI, you could 'find' all occurrences of the 'Launch Root Actor' and 'Launch Nested Actor' VIs in the project. This should help chart out the library dependencies.

 

In trying to surf the web for a picture of 'LabVIEW Actor Tree', I found this (Actor Hierarchy Inspector) just now! Wonder if that would work with your LabVIEW version and help you.

 

0 Kudos
Message 7 of 7
(1,216 Views)