Mike Le Posted September 5, 2014 Report Share Posted September 5, 2014 Hey folks, So after my recent debacles with project corruption, I started working on some tools to help sniff out problems in my repo. One thing I'm trying to do is parse any and all URL tags in lvclass, lvlib, and lvproj files. As I find them, I look to see if these tags are pointing to a file that actually exists on-disk. I'm running into some problems parsing these tags. For example, I'm parsing a class called "Setting Element.lvclass". I come across this tag: <Item Name="Pseudo Array - Remove Row.vi" Type="VI" URL="../Pseudo Array - Remove Row.vi"> Based on this, I would expect the method "Pseudo Array - Remove Row.vi" to be one level up in the folder hierarchy from the folder where "Setting Element.lvclass" is located. Instead, it's in the SAME directory as "Setting Element.lvclass." To me, that would be indicated with URL="./Pseudo Array - Remove Row.vi". In other words, there's one more "." than I would expect: I think of "./" as meaning "current directory" and "../" as meaning "parent directory." So what's going on? Do I have my "./" and "../" mixed up? Or is LabVIEW using a different internal logic when assigning these URL tags? Thanks. Quote Link to comment
Popular Post JKSH Posted September 6, 2014 Popular Post Report Share Posted September 6, 2014 Hi, Your understanding of "." and ".." is correct, don't worry LabVIEW treats library files as folders. The URLs are relative to the "inside" of that folder. Notice that: The class private data's URL is "Setting Element.ctl" (no "../"!) The VI's URL is "../Pseudo Array - Remove Row.vi" Where are the .ctl file and the .vi file on disk? The .ctl file is embedded inside the .lvclass file. The .vi file is not embedded -- instead, it lives one level above the .ctl file, on the same level as the .lvclass file. 3 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.