Jump to content

Jim Kring

Members
  • Posts

    3,904
  • Joined

  • Last visited

  • Days Won

    34

Everything posted by Jim Kring

  1. The new license (NISLA - July 2005) is now available on the NATIONAL INSTRUMENTS SOFTWARE LICENSE AGREEMENT page on NI's website. I am happy to say that the non-compete verbiage has been removed. You can read more of my thoughts on the matter here, on my blog.
  2. Here is a programming challenge: Make the traversal routine generic, such that it accepts a callback (plug-in) VI reference, which is passed each object reference during the traversal. Let the plug-in VI decide what to do with the object reference -- in this case, it will determine if the object is a CBR node, and add it to a list.
  3. Hello Justin, You could use an ActiveX Screen capture tool. For example: My Screen Capture ActiveX 1.20. Here is a quick and dirty example (attached). I wasn't able to do a direct memory transfer of the image, but I was able to transfer via disk (BMP file). If you need this to go faster, you could create a RAM disk. Download File:post-17-1129047931.vi
  4. This routine will only work for CBR nodes that are directly on the block diagram. If they are located inside of other structures (like Case or Loop Structures), then they will not show up in the AllObjs[] list. You will need to recursively traverse the hierarchy of objects on the diagram, in order to make sure that you have looked in every location for the CBR functions. I don't have time to create an example; but I'll try to later, unless someone beats me to the punch.
  5. Retain Wire Values causes wires to remember the last value that flowed through them. This allows you to probe them and see the value, after the VI has finished running.
  6. Yes, sorry if I overstated things... but, LVDiff really helps you find the difference points and merge manually. Notification that a portion of code is being edited can be achieved using various other mechanisms. For example, you can use the back-end repository hooks of CVS or Subversion to send emails when code is committed or an edit/unedit command is sent. If you have a chance, I recommend taking Subversion for a test drive -- I gaurantee that you will like TortoiseSNV (if you are a Windows user). You can quickly test it out, using a local repository (doesn't use a server, but rather, a location on your hard drive as the repository). Regarding company policy... well, I can't help you there However, you could use another SCM system for your day-to-day work, and then push your code to the official corporate repository once you have achieved milestones.
  7. I didn't intend to imply that anyone wasn't a professional, if they didn't have the LabVIEW Professional Development System. I only meant to highlight that "Professional" is a distinct version of LabVIEW -- I didn't pick the name, so don't blame me. Speaking of snobbery, what entitles you to use LabVIEW? Why should NI price it at a point that you can afford? Do you deserve LabVIEW? If you know of a better/cheaper tool than LabVIEW, then use it. If you see a market for a better/cheaper tool, then build it.
  8. Sounds like you don't have the Professional version of LabVIEW.
  9. To suppress the file dialog for missing VIs, add this to your applications INI file: suppressFileDlgForMissingVIs=TRUE Note -- this works for the development environment (if added to LabVIEW.ini) but you usually wouldn't want to do this.
  10. update/commit is better than check-in/check-out for many reasons: 1) update/commit requires good communication between developers, which facilitates communication between developers. 2) locking large portions of code causes limits access to those portions of code, even if they are not being changed. It forces synchronous access to large blocks, which slows down development. 3) locking/unlocking requires access to the repository, therefore you cannot checkout code and do development unless you have connectivity to the repository. The update/commit model only requires access to commit the changes. You do not need access at the time you decide to make changes. Yes you can. Take a look at lvdiff, which allows side by side comparisons of VI differences.
  11. I just downloaded the PushOk SVN Proxy and I couldn't get it to work -- probably because it is having trouble with snv+ssh URLs (svn tunnelling through ssh, which is the access mechanism that I use for accessing my repository). Also, I am not liking the LabVIEW approach to source code control. The Source Code Control settings are a global LabVIEW setting (configured in the Tools>>Options... dialog), rather than a project setting. Since LabVIEW 8 has projects, why are Source Code Control settings global? This doesn't make sense to me. I'm thinking that I might just ditch the idea of using LabVIEW SCC and just keep using TortoiseCVS and TortoiseSVN -- the way I've always done it. Also, since CVS and Subversion use a concurrent access model (update/commit) rather than a synchronous access model (check-out/check-in), I am not sure that I would like limiting myself to the latter by going through the SCC API.
  12. I was reading the online tutorial Using Source Control Software with LabVIEW, which describes the SCC features in LabVIEW 8. It looks like LabVIEW will support any SCC API Plug-in (SCC API is a Micro$osft standard for source code control providers to plug-in to a development IDE). The tutorial states that the following are supported: Microsoft Visual SourceSafe Perforce Rational ClearCase PVCS (Serena) Version Manager MKS Source Integrity CVS with the PushOk Windows client software I am pretty excited about having CVS support, since OpenG developers use CVS. But, I am also excited because there is a good chance that the PushOK SVN SCC proxy (which I discovered on the PushOk website while looking into thier CVS SCC proxy product) will also work, allowing LabVIEW's SCC to talk to Subversion! :thumbup:
  13. Here is a direct link to the LabVIEW 8.0 Upgrade Notes.
  14. Looks like the cat's really out of the bag, now. http://www.ni.com/labview/
  15. This is because numeric constants dropped from the palette have their representation set to "Adapt To Source". This causes numeric constant to adapt their type to whatever you type (no pun intended) into it. For example, if you enter "-1" it will become an I16. If you enter "1" it will become a U16. If you enter "1.0" it will become a DBL. If you enter "1 +2 i" it will become a CDB.
  16. Here's your answer. So unfortunately, you won't be able to get you some of that.
  17. Congratulations, Brian, to you and your family
  18. Actually, I doubt that many of the FlexMotion VIs would pass inspection by VI Analyzer. Good style is so important. It isn't just to help people understand your code. It actually helps you write better code with fewer bugs.
  19. You can achieve this by adding no-op frames that are titled "------------ Section Name ------------". They are not intended to be executed, but rather serve as deviders between groupings of frames.
  20. Yes, there are many important files that are accessible via FTP. MAX should be able to restore these files if they ever get damaged. Yes you should lock (password protect) access to FTP, if you cannot secure access to the network containing the RT system.
  21. I'm not sure if I recall what the issue exactly. Was it that "Get Contorl From Type Descriptor.vi" did not work on a *.ctl VI reference (only a standard VI reference)? I don't know if this is still a limitation, but I would guess that it does.
  22. You probably couldn't find it, due to NI's spelling mistake (LVRoot\project\_NewProbeWizard.llb\Get Contorl From Type Descriptor.vi). See this thread for more info.
  23. The decal is a click-able part of the button -- a floating decoration will not be click-able, which will aggravate users.
  24. You can hide the LabVIEW button, by adding the following to your app's INI file: HideRootWindow=TRUE
  25. I saw a "LABVIEW" license plate in San Francisco, CA a few years ago, while driving from the Marina area to Fisherman's Warf.
×
×
  • Create New...

Important Information

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