11-14-2014 02:13 PM
So I pulled all my classes out of the libraries. Big mistake. All the references across my apps broke. Now nothing works at all. When I send a message of any kind, the Actor Core shuts down as soon as the Send Message vi executes. No error or crash message.
11-14-2014 02:21 PM
And it takes about twice as long to load the project.
11-14-2014 03:16 PM
Ugh. There was a class shared between two projects that was claimed by a library in one project and not in the other. That was infuriating.
11-18-2014 10:06 AM
testingHotAir wrote:
So I pulled all my classes out of the libraries. Big mistake. All the references across my apps broke. Now nothing works at all. When I send a message of any kind, the Actor Core shuts down as soon as the Send Message vi executes. No error or crash message.
Sorry if i steered you down a confusing path. Labview dependences can be a huge pain, especially if like in your instance you are using the same class in two different libraries. If you are going to re-use a class in multiple places, i would look into physically making a new copy for each project of that class and its parent classes, or using VIPM to manage your code reuse. I would also suggest you look into source control as you move forward. It would allow you to check out a fresh copy of your class so you don't ruin other code if you accidentally edit somethign in one project. I hope you got things back up and running.
11-18-2014 10:49 AM
Based on the behavior I've seen through this process, I think I will be avoiding libraries for organizing my classes until I reach a stable version. I was actually going through cleaning up code in preparation for starting version control using git, and now I see the need for it!
11-20-2014 02:51 PM
testingHotAir wrote:
for starting version control using git, and now I see the need for it!
Few things in my professional life make me as sad as LabVIEW's internal behaviors being the motivator for learning the value of source code control. Having said that, I'm glad you have now learned this lesson. It will serve you well down the line. I don't know when, but I guarantee it'll save you at some point from your own mistakes, not just LabVIEW's.
11-20-2014 03:03 PM
No snarkiness here, I'm genuinely impressed that you've been able to do so much with AF without using SCC up to this point.
Any time I need to rename any type of library or move things in/out, or remove a class both from project _and_ from disk (not as simple as it sounds), I always make sure I'm working from an exact copy of what's already in the repo. If you can reload the project after that work without something missing or just hosed, commit to SCC, and only then move on to additional library change operations.
I can't imagine trying to do AF message pairs without SCC, since I never do it right the first time I try.