Jump to content

drjdpowell

Members
  • Posts

    1,981
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by drjdpowell

  1. An earlier (rather long) discussion about licensing. Are you sure you understand your commercial licenses? The big difference about the BSD license from most licenses is that a human can actually quickly understand it. Ever read the licenses you agreed to in using LabVIEW?
  2. Anybody know any lawyers? As a copyright holder of some BSD-liscenced packages (and one or two OpenG VIs) I couldn’t care less if you include me of my license in your binaries. But I am interested in not being sued. And not being a lawyer I can only use an established license in order to feel some confidence that I am protected. From a common-sense point of view, it seem silly to think that one could be liable to a third party because a second party passed on your software in their product without passing on your legal disclaimer. But I’m not a lawyer, and all licenses seem to have that.
  3. I have a “Reply†method that always sends a message, since someone else is presumably waiting for it. The reply is an error message if there is an error in, rather than the usual reply message.
  4. The usual pattern that I (and others, i think) have used is analogous to a file directory: directories contain a mix of different files and also subdirectories (which can contain sub subdirectories, etc., etc.). The classes are a Parent, with children File and Directory, the later containing an array of Parent. File can have subclasses for different file types, and there can also be different subclasses of Directory. It’s a recursive tree-like structure But your hierarchy of different levels is not the same as a tree-like structure. Steps can only contain an array of Functions, and so on. You would have a common parent (which defines your “Execute†or “Do†main method) but you need each subclass to contain an array of a specific other subclass. So Step contains an array of Functions. But, are you sure you need a specific hierarchy like this? Seems more work and unnecessarily rigid. Why can’t the User call a Function inside another Function? If a User wants to execute an Action as part of a Group, why require the extra work of creating a Step with one Action?
  5. The new Flush Events primitive may also work for dialogs. I’ve used this behavior with Event Structures inside Custom Probes, where events can be generated even though the probe is only actually executing periodically. XControls work similarly, I think.
  6. The workflow/setup is: — User has my EXE and takes calibration data with it (no LabVIEW Dev environment installed) — imports data into “Eigenvector Solo†3rd-party App to do advanced calibration — “Eigenvector Solo†outputs a .m file — my EXE imports and runs .m file on new data. It’s the last step that I think can’t be done, because the EXE can’t dynamically load and compile a .m file.
  7. I have a request to make an EXE be able to dynamically call a .m file with Mathscript. The .m file is User supplied and not knowable at build time. But my understanding is that the EXE compiles in the Mathscript, so this cannot work, and that other dynamic mathscript options (such as “evalâ€) do not work in an EXE. Has anyone encountered this issue before?
  8. Not sure I understand. You wouldn’t be changing any functionality; your DD methods for grandparent and parent would behave as before, but you would have the ability to call the static method directly from the child.
  9. 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.
  10. What’s the point of anti-virus software that a virus can get around by renaming itself “labview.exe�
  11. 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).
  12. Or you could just use Find/Replace...
  13. 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.
  14. Try renaming the class (this deletes the class mutation history, which might be causing your problem).
  15. 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.
  16. 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.
  17. Also cross-posted here, where AQ responds.
  18. 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.
  19. 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.
  20. 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?
  21. 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).
  22. 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.
  23. 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.
  24. 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â€.
×
×
  • Create New...

Important Information

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