Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/14/2020 in all areas

  1. There are two major schemes in SCC. Lock-Commit, and Merge. It seems most text based languages don't bother with Lock-Commit since an intelligent text merge can be done pretty easily. Since LabVIEW's VIs are binary, a merge can't really happen on a file level. The Compare and Diff tool NI has made does help, but I've found it at times to be messy. A more rigid approach is the Lock-Commit. This works best when an application has been broken up into sub modules, most often Libraries, or Classes. Then multiple developers can work on separate files at the same time, but lock them so that the file can only be edited by one person at a time. This does take the cooperation of all developers. Blanket statements like "Don't lock the whole project" needs to be something everyone does. Otherwise you will be calling up someone telling them to unlock the files they have. I've gotten used to this over the years, but if you are a new to LabVIEW and you have 1 or 2 huge VIs, then locking them to one user will cause problems. As mentioned NXG uses XML as the file format (with a few binary blobs when needed) and merging them in text has some varying level of success. But with a relatively complicated XML file merging might not always do what the developer expects.
    1 point
  2. Very neat. So I wanted to update this to return all monitors, and all Windows, and Panel sizes. I also saw that this was using scripting which means it won't be available in the run-time engine. Attached is an updated version that I believe does this. (2018) I also added a feedback node to return the previously read data if it is called again, with an optional input for a full refresh. I did this since I believe changing monitor position and resolutions after and application has started is rare. Still if you do this often you can just wire a True to this. Another option would be to use the Elapse Time, and maybe do a full refresh once every couple of seconds. One thing I also removed was the passing in of a VI reference to get the application instance to use. I wasn't sure why this was being done since regardless of the application instance the monitors and panel bounds will be the same. I realize AQ and Darren often work in private instances, it's just in this case I didn't think it would matter. Please correct me if I'm wrong. I also left in the VI description stating it is thread safe, but am unsure if it still is. Compute Maximum Desktop Bounds Hooovahh Edit.vi
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.