Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by jdunham

  1. That VI doesn't seem to find clones started by the Start Asynchronous Call function.
  2. Thanks for the link! I see in its code that it just attempts to open clones 1 to N where N defaults to 100. That seems like a real hole in the VI Server API, not to have a method to find all active processes. OK, I just read the whole thread, looks like there is awareness of the issue. Too bad there's no solution yet. Thanks again ShaunR for the pointer.
  3. Oh yeah, I was converting the name string to a path, since it seemed to want that, but I forgot that it accepts strings Thanks! So the App.AllVIs property doesn't include clones in the list, so I still haven't solved my actual problem of enumerating all the clones currently running as top-level VIs in my current app instance. Is that doable?
  4. The App.AllVIs property gives a list of VIs in memory. I want to open VI references to all of them, but I need their paths. Is there a way to go from lib:vi name to path to its reference? Actually what I want is to find all Vis executing at top level, including clones. Is there another way to get that?
  5. I knew about the event, but I wasn't sure it would process Windows messages generated from outside of LabVIEW. I ended up building a test anyway to make sure that it still worked as claimed when running as a service. But since I Googled something like "labview application close external event", and got very little useful information (and nothing dated later than 2008), I figured a Lava post was in order, and it was certainly helpful.
  6. Thanks for the replies. I checked out the Windows Message Queue example (thanks, ned) and it works fine. In my case, we are our LabVIEW executable as a service (with FireDaemon), and I think it will be enough to monitor the Application Instance Close? event and filter it and then do a graceful shutdown.
  7. I'm trying to catch the external application close event and shut down cleanly. This forum post on the dark side links to an old LAVA thread: http://forums.lavag.org/WM-QUERYENDSESSION-t1285.html but in the new world order, that link no longer works. But I care more about the right answer than the link. Can I catch the an OS-initiated application close/shutdown message from inside of labview?
  8. I can pile on here. One reason not to over-comment is that then it makes it harder to figure out which comments are important. Sometimes less is more. Admittedly more often code suffers from a dearth of comments than from a surplus.
  9. Right, I think I said as much, albeit a lot less clearly. The real issue is that ni.com can't really prevent you from posting infringing code. It would be a violation and I'm sure they would take it down if duly notified by the copyright owner, but in the meantime if someone else downloaded the offending code and reused it, they could still be liable to the copyright holder.
  10. Well I'm not a lawyer. It seems like a site has no authority to assert that donated code is public domain or any other license, unless the copyright holder (almost always the original author or in some cases her employer) has explicitly assigned the copyright to the site. It certainly could not do that retroactively, but it could make terms of use for the site which include some stipulation about the licensing of posted code. I think most sites are unwilling to do that since it's much harder legally than just saying "we have no control over what you choose to post, but copyright violations
  11. +1 to Chris for removing a spam link -1 to Chris for replying to a question from Barack Obama's first term in the Senate.
  12. Is the problem just the label? You have to type that in yourself. If it's not showing a waveform that looks like a spectrum, then you have a wiring problem and you should post your VI.
  13. Is there any easy way to add a new method VI to an existing hierarchy of inherited classes? Right now I make the VI in the base class, and then save as... to make a copy in each child class, and then I have to change the input and output class terminals, add it to the correct class, and re-import the icon glyph. I guess that's not too bad, but it is pretty tedious.
  14. jdunham

    Dirty Dots

    Have you checked that the VI's path in the stored in the lvclass file matches the actual VI path?
  15. If you have 100 listeners, you would need 100 queues to send the same message to all of them simultaneously. It's much easier with a single notifier. Our software detects events which must be handled by a variety of subsystems all able to run in parallel, and a notifier makes short work of it.
  16. The basic difference of course is that a Notifier is a broadcast mechanism. If you have ten threads waiting on (listening to) the queue, and enqueue an item, then only one will stop waiting. I think it will be the one that started waiting first but I don't know whether that is guaranteed. If you have ten or ten thousand threads waiting on a notifier, they will all stop waiting and take the update. With a single element queue, you can't put any more into the queue until the first item is taken out, but with a notifier, you can put as many in as you want, and if the receiving thread or thr
  17. If you just use the Application property node without any refnum wired in, it will give you the current app, which it looks like you were trying to dig out with all that code. You can also change the "This VI" refnum constant into a "This Application", but that's the same as not wiring in the refnum at all. Jason
  18. I am not a lawyer either, but one essential protection is that any software you release should be marked "AS-IS" and that there is no warranty on operation or on "fitness for purpose" and you want to make sure you assume no liability consequential damages. You should have a clause that basically says "we don't accept liability for anything, but in any case, our liability is also limited to the price of the software. Of course all of that stuff is fodder for the courts no matter what you say in your contracts and licenses, but if that's on your software and on your terms and conditions, then y
  19. Yes the building build spec runs in a different application instance. Maybe you can get your prebuild action to spit out a ref to its own application.
  20. Sounds like a good setup. First you will want to hook up the camera and acquire the images automatically using the NI Vision Examples. If you are having trouble, NI tech support should be able to get you to that point. How do you plan to select the ROI automatically. That seems like the difficult part, but I'm sure it's possible.
  21. Is it just one file? If you are loading a hierarchy, you can load the subvis first and try to isolate which one is not opening correctly. You might be able to revert just that one to a backup version.
  22. Thanks Kurt, this helped me out today Jason
  23. You should contact your local NI sales rep. His or her job is to help you get into LabVIEW. Or you could buy a new computer to get a new eval (or maybe install a virtual machine within your OS, that might work too). Jason
  24. My bad, I hardly ever sign my posts. Jason
  • Create New...

Important Information

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