Jump to content

drjdpowell

Members
  • Posts

    1,973
  • Joined

  • Last visited

  • Days Won

    178

Everything posted by drjdpowell

  1. As ak_nz says, the “to more…†methods don’t change the objects. What you need to do is move the grandparent functionality into a separate static method, and call that method from all three DD methods (grandparent, parent and child). That way, the child can replace the parent functionality while still calling the grandparent code.
  2. What’s the point of anti-virus software that a virus can get around by renaming itself “labview.exe�
  3. I’m afraid I only bang away at things till they work. I believe I found it worked much better with the text as opaque (and in the opaque bin) inside a transparent object (in transparent bin).
  4. I used the JKI template for almost every project for about 5 years, till about a year ago when I replaced it with a new design that is very heavily influenced by it. The new design retains the strings.
  5. Try renaming the class (this deletes the class mutation history, which might be causing your problem).
  6. They use Text-Variant messages rather than Command Pattern, but the OP could also consider looking at: — mje’s Message Pump, which uses “Actorâ€-like objects that can be inherited from to add functionality. — my Messenger Library, which includes a Sample Project that redoes the NI “Continuous Measurement and Logging†example. It uses OOP extensively in the Message-passing objects, though the “Actors†are actually just single VIs. Don’t know if this counts as an “object-based frameworkâ€, as one isn’t required to do much OOP in actually using it.
  7. I suspect there might be a concern that making “public†data members easier would discourage more careful design. There are reasons why heavy use of “properties†might be thought of as a “code smellâ€. Of course, a significant fraction of the time one really does just need a direct read/write access to a data member, and a “public†declaration would certainly be convenient.
  8. I got a PM from the user, Venkatesh.C.S, and we found that the issue was only on LabVIEW 2014. No problem on 2013. I'm not working with 2014 yet so I haven’t followed up. Venkatesh consulted NI tech support, I think, but they hadn’t yet responded.
  9. Yes, that was it. Thanks. Though it’s still amazing the amount of blind trial and error it takes to use the 3D picture control.
  10. Anyone an expert in the (complex, poorly-documented) 3D picture control? I am using Text to label an axis (see image) inside a semitransparent open cylinder (actually a mesh with texture). The axis (made of boxes) shows up through the cylinder wall, but the Text does not. See how 7", 8" and 9" show up, but 10" and higher don't. I cannot figure out why, or how to fix this. Any ideas?
  11. No. Those are static references that don’t need to be closed (closing them does nothing, so don’t bother closing them). You can tell if a reference is static by probing it to see if it changes on each call (if it doesn’t, it’s static).
  12. I made the request for it to work for Variants, which would include the cluster support CharlesB wants, and also support mixed clusters of objects and primitive types.
  13. I like Mercurial much better than SVN. Or rather, I like “TortoiseHg Workbenchâ€. But I've not really used either much more than as a backup system.
  14. I’m afraid the "terminal thralling†(as NI calls it) only works on LVOOP objects directly. Not even arrays of objects, which is what I would particularly like. BTW, “Preserve Run-Time Type" is usually not necessary, as the compiler can trace the object identity through the subVI. Only if the output type could change, do you consider forcing it not to with “Preserve Run-Time Typeâ€.
  15. Here’s a quick example of the cluster method. I did disabling of the string, hiding unused clusters, and also added some colour based on string length. LabVIEW 2013. Cluster View into Array.zip
  16. This will work with very large numbers of elements, if you keep the full set of data as an array and only write the visible portion of the array into clusters (where there need only be 50 clusters to fill the screen). Use a separate vertical slider whose Value Changed event triggers a rewrite of a subarray of data into the clusters, complete with disabling selected controls. One can also change colours or other attributes this way.
  17. But libraries don’t need to just be a good capability to have for the very advanced programmer who has learned to use them carefully “when neededâ€. Libraries could be broadly useful at a range of ability levels and for a wide variety of things.
  18. But these aren’t real dependancies. "A calls B which calls C†is a dependency of A on C. “A calls B which is in the same library as X, which calls Y, which is in a library that also has Z, which calls C†is not. I have no interest in managing false dependancies introduced by lvlibs.
  19. Suggestion: can the event structure just compare New Value to Old Value and ignore if they are the same? That will filter all duplicates. BTW, if I were doing this from scratch I would have the 3rd party app set a single (hidden) “Message†control, that would be a cluster of desired control name and control value. The “brat†would pool for new messages and then do Value(signaling) on the named control (which it would lookup in a list created at initialization of all the available controls).
  20. I don’t have 2014 and can’t open your VI, but my first thoughts are to type cast the U64 array to an I16 array then do a FOR loop over the number of lines to do the chopping. Why is this data not in I16 in the first place, BTW?
  21. Note that a named queue can have multiple independent references to the same queue, while the non-reentrant subVI contains only a single reference.
  22. Local means the same application instance, so separate projects in the same LabVIEW should be remote. Though there is probably some sharing going, on given what hooovahh posted.
×
×
  • Create New...

Important Information

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