Jump to content

Samapico

Members
  • Content Count

    35
  • Joined

  • Last visited

Community Reputation

0

About Samapico

  • Rank
    More Active

Profile Information

  • Location
    Montréal, QC

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2010
  • Since
    2009
  1. How does that explain string 2 being "z" ? The two results appear to be contradictory... According to the help, String 2's result would appear to be a bug... But I'm still wondering: why would they make string ranges non-inclusive? In what case is it useful? Considering numeric ranges are inclusive, this really seems to be counter-intuitive.
  2. It looks like it could be useful, but I have a few comments: When sorting by "state", it seems to be sorting items in each class/library by themselves... So there's no way to tell right away which VI's are running if you have a large project. It's not easy though, I guess you'd have to split library/class groups if they have VI's in different states. For example: [-] a.lvlib: ____someVI.vi (RunTop) ____anotherVI.vi (RunSub) [-] b.lvlib: ____something.vi (RunSub) ____bleh.vi (RunSub) ... [-] a.lvlib: ____hmmm.vi (Idle) [...] I'd guess that doing that would be quite hard... but how about a way to filter by state instead? You could quickly find running VI's in a short list. The project I'm running has over 1000 VI's... this task manager takes about 20 seconds for a single refresh. It's pretty painful... Do you guys have any optimization in mind that could improve this? Still a handy tool, thanks for sharing
  3. Hmmm, how can you get a 0x2 or 2x0 array? Wouldn't both be empty arrays anyway (i.e. 0x0) ?
  4. Could this be saved as 2010? I'm curious to try it out... Thanks
  5. You could use a listbox... it's pretty easy to set colors to cells/rows with that.
  6. I read through all this quickly, maybe it's been said/proposed already... but is there any way to have it tell you which sub-VI is currently running? i.e. if you have one top VI, that spawns multiple threads (not even dynamically, in our case), and when a "stop" is issued, all these threads must quit, and we often find ourselves unable to know which one is stuck, and where it's stuck. So basically, listing the 'bottom' VI's, as well as the 'top' VI(s), without necessarily listing the entire call chain.
  7. I don't think a double would have problems with these decimals, but the date/time might be using singles internally... But yeah
  8. Yeah... take a look at the attached image. The datetime makes you think it's accurate by showing a bunch of decimals, but it still has a ~1ms resolution. The example you posted actually proves that the high res timer IS way more accurate. More accurate than the wait(ms) VI anyway Edit: Using the same kind of code, the resolution of the high res timer is about ~0.31106 microseconds, or 3.1106 E-7 seconds. Pretty cool, imo.
  9. Make the background of the cluster transparent, and place another control behind it, and move that control depending on which one is selected OR Place a boolean indicator (like the square LED one) in your cluster, behind the other controls. You can set the false/true color of that indicator to whatever you want, and when the active cell changes, scroll through your array and set that value to false for every item, except the one that is selected. See screenshot of 20 seconds of work I think you should be able to do something nice that way
  10. I think he wants to know which DLL to call, the function name and its parameters to pop a standard Windows messagebox, with the standard (?), /!\ or (X) icons and stuff.
  11. I haven't watched that video, but I didn't use dynamic dispatch inputs either when I created my constructor methods because they force you to use the same inputs for every child class... what if you have a specific property in one of these classes, and you want to initialize its value in its constructor? Also, if you don't use dynamic dispatch, you can use the convention to never place a lvclass object constant on the block diagram, but you have to use constructor methods that output an initialized object.
  12. Well, the easy way is to delete the terminal and re-create it
  13. I never really used this, to be honest, I usually use a constructor method. An advantage would be that you can't "forget" to use the constructor method on your object, and you're forced to create the override, or it will simply not compile. I'm guessing that if you have many independent properties, it would be a lot of work, but in jasonh_'s case, if the X/Y/Z limits can be given by a single VI, it could be worth it. It's just one more VI to create (just like you'd need to create a constructor anyway). And it's really just right-click->override... -> change some constants -> save
  14. Another option could be to have VI's such as 'GetRangeXYZ', put it in the parent class with the property 'Require descendant classes to override this dynamic dispatch VI'. Then you create these override VI's in child classes so that they simply output constants.
  15. I posted a VI snippet in one of your other topics answering to another member. It's not as pretty as the one on your image, but it gets the job done. It simply draws 3 lines, one for each axis (X=Red, Y=Green, Z=Blue) with a specified length (in units) and width (in pixels).
×
×
  • Create New...

Important Information

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