Jump to content

Yair

Members
  • Posts

    2,869
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by Yair

  1. Yair

    Lurking

    I think you have misunderstood the way to get ShaunR to like your code...
  2. Yair

    Lurking

    Nice list of projects. Having not seen ANSI art in quite some time, it certainly does bring some memories. If you want to pimp it up a bit, see if you can write something which will create a reasonably accurate representation of a block diagram in ASCII/ANSI. I think HTML for colors, boldness, etc. is also reasonable. Someone actually asked me about x86 emulation not too long ago, so it's nice to see that someone is crazy/bored enough to try. That's certainly a jump from the C64 or Apple][ emulators you can find on NI's site. I remember seeing the SDL video before and I think the pure LV version sounds interesting.
  3. The best place for AF discussions is the AF group here - https://decibel.ni.com/content/groups/actor-framework-2011 If you search for the relevant error there you can see that this is apparently designed for debugging and you should use other options to open the FP (like FP.Open). I don't know what the thinking behind it is (probably that the actor should manage the all the UI setup on its own), but see here, for instance - https://decibel.ni.com/content/docs/DOC-17193
  4. I don't see any issue like this with LV 2011 and 2015. I can alt-tab to any LV window or can alt-tab and use the mouse to click the relevant window. One thing to note is that the alt-tab dialog in Windows 10 does remember the original order of the windows and doesn't bunch all of the LV windows together, like older versions used to. Also, to pin arbitrary files to the start menu, you need to place a shortcut to them in <user>\AppData\Roaming\Microsoft\Windows\Start Menu, which will add them to the start menu and then you can pin them. They're still only pinned as tiles, not as a list, but at least they're there.
  5. The undo buffer is exposed with some scripting methods (at least the last operation and you could build it as is changes or go through all of them and then redo), but the details it gives you are very limited (it's the same string you see in the Edit menu), probably because there's no point in trying to give details. If you delete several things together, it's easier to just say "undo delete". The only other option I can think of is checking all the objects in the VI and if any of them change add something to your log and there are any number of problems with this, like: I'm not aware of any hooks for knowing about editing actions. You can use the VI Activation event to know which VI you're working on, but not anything lower. There's a Start Diagram Drag event, but I don't know what details it gives you and I don't see a corresponding drop event. Maybe an XNode could work, but I don't think they have anything which can be triggered with every change you make to their caller. Identifying the changes is difficult. You will need code to monitor every relevant property of every type of object. If a bunch of things are changed together (like if the user deletes several elements together), you need to describe that somehow. If objects are added/removed to the list, it might be difficult to realize that there's a new object in the middle and the others haven't changed. I believe there is a way to convert diagrams to XML, which might be easier, but I don't think it's complete and I don't remember the details of where it is and whether it actually works or I'm just combining several things into a feature which doesn't actually exist. Maybe there's a better way to do what you actually need. If you give more details about that people might have ideas.
  6. Welcome to the Internet... Also, you spelled Google with a lowercase g
  7. Ha! The joke's on you. LabVIEW 2.0 doesn't even run on Windows
  8. There are properties in the Numeric class for FXP settings, but they appear to be private. See the floated thread in this forum for information on private properties.
  9. > GO NORTH You have been eaten by a grue.
  10. Correct, although this isn't actually relevant for XControls, as they do actually run even if the VI is not running. Another term for "reserved" would be "entering run mode" and it happens when the hierarchy the VI is in starts executing and the run arrow changes from white to something else which isn't broken or unsynced. Here's a table I did a while back and never got to use: It doesn't include all the states (like the green arrows), but it is fairly representative. The relevant states are the bottom three. This behavior can actually have consequences if you have weird code like setting val(sgnl) from another VI or if you register for an Application event like VI Activation and it's certainly relevant if your user manages to do something like double click on controls before the VI closes, as the events are saved in the queue even if the VI isn't running and will be processed the next time the VI is called and the event structure executes.
  11. For those of us not fluent in functional programming, can you expand on the thinking behind this and how you implemented this? Looking at the iterator example, I understand the syntax of "map the filter function over the list", but my limited understanding is that some of the advantage of how functional language manage these data types will be mitigated by you having to go through all the variants and the VI calls, so the question is whether the syntax is worth it? Some specific comments: The OptionType class wire is killing me. It looks like it's broken or the screen is broken or something is broken. Don't hide the examples in internal levels of the hierarchy. More documentation is useful for examples where the syntax is different from what people are used to.
  12. Wires don't have a position. They have a joints property, which is an array of all the fixed points of the wire. But like I said, the VI should give you the actual click position.
  13. http://www.smbc-comics.com/index.php?id=3919
  14. There are instructions on the top of the job listings forum: There's also a jobs listing board in the NI forums.
  15. The VIs should have the information (I assume that's what I used for this plugin - https://decibel.ni.com/content/docs/DOC-43445 ), but even if not, you should get the reference of the object(s) you invoked the plugin on and you should be able to use that. I'm also pretty sure there's a method for creating an indicator from a terminal, which also connects the indicator to the terminal.
  16. I never asked them, but based on the material I remember seeing from them, my guess is that they essentially created their own version of the C code generator and that their compiler analyzes the LV code (probably with VI server) and converts it into a format which can be compiled to the relevant target using its tool chain, although I don't know what form that actually takes. I would guess C, because that seems easier than generating hex files, but that's just a guess piled on top of another guess.
  17. Looks like this uses an ARM processor. AFAIK LV can only produce x86 machine code, so presumably the answer is no.
  18. Well, there's one now - http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Use-Polymorphic-VI-inside-classes-as-dynamic-dispatch-to-emulate/idi-p/3210827
  19. I don't know, but I expect the answer is yes, at least if you want the info related to the BD (which I think the DETT can give you).
  20. This is no longer relevant for this question, but a nod towards the DETT might be in order for the next time. I'm not sure exactly how much data it shows you about which events occurred and what their values were, but it should show some.
  21. These are great, but they tend to drag on a bit too much. I would suggest considering either editing or planning them carefully enough so that you have a higher SNR. For instance, the third video has a good explanation of the value of relabeling messages, but it comes after a pretty long video. Also, you might wish to start with a video about the basics of the framework. As it is currently, it focuses a lot on actors and less on messengers.
  22. I don't have experience with either of those options, but presumably the second option is an extension of the first, which I understand is designed to make sure that only the class can create DVRs of itself. This is presumably to ensure proper initialization of the objects in the DVR, since LV doesn't have constructors for that. I'm assuming the thinking for the second option is that if you want to create a by-ref object of type A, you can only do it in class A, even if the actual object is B, which inherits from A.
  23. Tecnova has been very good at keeping the FTP site online over the past few years. I'm guessing its current downtime is temporary.
×
×
  • Create New...

Important Information

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