Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


jdunham last won the day on December 16 2015

jdunham had the most liked content!

Community Reputation


About jdunham

  • Rank
    Extremely Active

Profile Information

  • Gender
  • Location
    San Francisco, CA

LabVIEW Information

  • Version
    LabVIEW 2011
  • Since

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  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. 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.
  9. 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
  10. +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.
  11. 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.
  12. 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.
  13. jdunham

    Dirty Dots

    Have you checked that the VI's path in the stored in the lvclass file matches the actual VI path?
  14. 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.
  15. 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
  • Create New...

Important Information

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