Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Today
  3. Yesterday
  4. I think so. Well. I know so but I'm unsure of the mechanism since it is an xControl on a VI that is loaded in a sub-panel of another xControl (if that makes sense-it's nested). When exiting, the host VI (loaded in the sub-panel) wants to be saved. I can stop it by not updating the display state of the xControl on the loaded VI host, but then the facade doesn't update properly. Additionally, it doesn't seem to be every time; just sometimes which is proving to be a barrier to finding a work-around. If it's not loaded in the xControls sub-panel (even a normal subpanel), then it all works as intended. I have, since, thought of a couple of things to try, but it'll have to wait until I can get round to it again. Amen.
  5. That may be a while - but the package file itself in the top of the thread.... Edit: Thinking about, because I'm dependent on the ZMQ bindings which are not available on the NI Tools network, I'm not sure I can put this package (and the SHA-256) library on the NI Tools network either - so it will always need to be installed from manually downloaded vipm files.
  6. Let us know when it is posted on VIPM's package list.
  7. Ok, bit of Easter holiday coding today. Version 1.1.0 should allow connections to remote and already running kernels (well it does for me), and will only issue kernel shutdown messages if it started the kernel itself. To connect to a remote kernel, you can either manually fill in a cluster of port numbers etc, or simply paste the json from the connection file or (if you have an existing front end to the kernel) do: from ipykernel.connect import get_connection_info print(get_connection_info()) If starting kernels on another machine, remember to tell them to bind to an IP address that isn't localhost e.g. ipython kernel --ip=u.x.y.z and make sure the firewall will let the ports through.
  8. I'm way above my head here, but are you saying that in principle the "clustering" of multiple control is just a convenience trick or is that bringing advantages (such as access to class properties via property nodes) that would be lost otherwise (defining a facade with multiple controls NOT bundled into a cluster)? Of course, what's missing for this to be even practical, is more flexible way of grouping objects in LabVIEW (that is, one that allows moving things within a group). Just to put my questions in context, I have developed a simple (well, relatively) way of adding a tip strip to graphs so that long plot names can be read without having the legend size explode. I was contemplating migrating it to a QControl, but the layout of a Graph (due to its accessory panels) can be quite random, and if everything (graph and tip strip) is put into a cluster, the problem I was raising above would potentially ruin the day in some UI cases.
  9. FragRz I didn't mean the private Method you referred to , I was talking about the when you have LV open and go to Tools -> Compare -> Compare VI Hierarchies... Dan
  10. Sorry, I should have explained more clearly what it means that the method is private. In short, private methods are not officially supported - they may not have documentation, they may not work, or they may even have unexpected side effects - just like in your case.
  11. Well , since I installed the evaluation version of LV2018 i played around with the Compare VI Hierarchies tool , it actually does everything I need ... But , be cautious using it at first when Creating a Report , it did the webpage report just fine , when I tried to create a Word Doc it failed , AND , deleted everything in the directory it was supposed to save the Word doc in , luckily I was using the Temp directory so it wasn't a big issue , in fact on a second try at it , it deleted the Temp directory too , not just the contents... As I said I am using the evaluation version , so , maybe something is wrong with my install. Dan
  12. Hmm, there was a problem I had there but I thought the version I packaged had fixed it. My current development version should find that path - but it depends quite a lot if you have multiple Pythons installed on your machine. BAsically there doesn't seem to be a bullet proof way of getting the correct path in Windows.... That's a sensible idea - it's going into the development code. That's largely a result of the test client being mainly aimed at debugging the protocol and for testing message handling rather before moving on to code to more tightly integrate LabVIEW programs with the remote kernel. That said, I'm in the process of adapting the client to allow different methods of locating and connection to the kernel and that will include suppressing the kernel shutdown message on exit. I'm also (very slowly) working on an implentation of a LabVIEW universal-binary-json serialiser/deserialiser with a view to creating some custom ipython messages for transferring binary data efficiently between LabVIEW and Python. The idea is that the LabVIEW client would create message handlers at the Python end that would allow LabVIEW data to be pushed directly into the Python namespace or to request python data to be sent back to LabVIEW. Don't hold your breath though, the day job comes first...
  13. Is this the problem of handing 'volatile' state where you need to track state during the run-lifetime of the XControl but do not want to persist it to disk? Using the display state and setting the corresponding boolean in the action cluster then marks the host's dirty bit....? For my XControls I ended up storing a copy of the state in an LV-2 style global. To support multiple instances of the XControl, the LV-2 global is actually a variant and I store the state in attributes of the variant using the container refnum (cast as a string) to provide the attribute name. The first thing the facade does is to read the state and the last thing is write it back to the LV-2 global. XControls are a bit of a pig, on that I guess everyone can agree....
  14. Hello Everyone, I have the same problem, i can't get my data as 2D array even though they have the same size, Can i see you VI please. Best regards.
  15. I try your tips, but impossible to catch signal before the zero... How i can tell to graph "i using bundle cluster" ?
  16. Well I guess you could pass the reference to each button and the slider individually into the constructor VI without them being in the cluster. You would have to add the references to the QControl class through a manual bundle in the constructor and edit the Event Handler accordingly. If that is the case I would recommend starting a new QControl and inheriting from Slider and then passing in the slider reference as normal. Then pass the references for the buttons as extra inputs with manual bundle. That way each button and slider can be positioned separately.
  17. Sure, but there are cases like this (vertical "scrollbar" over horizontal "scrollbar", but this works also for the opposite situation): You can "interlace" two XY Graphs and move their "accessory" panels and not have any problems using either one, no matter which one is on top or in the back: It's just something to keep in mind before being bitten late in the development process.
  18. The last straw that made me abandon XControls forever and create the QControl Toolkit was the trouble I was having using XControls with Actor Framework and PPLs. At first I just encountered weird behavior problems, then sporadic crashes, and finally the inability to build the application. With more work and headache I probably could have found workarounds and continued using XControls but it just wasn't worth it.
  19. Last week
  20. True with any controls. Just make sure the z-order makes sense. In your case you probably want the string control in front of the cluster holding the scrollbar, instead of having the string in the cluster with it.
  21. Likewise -- I never heard of it; seems useful.
  22. You can tell the graph that your waveform is offset by using bundle cluster
  23. Unless I am mistaken, the composite control approach of using a cluster will potentially cause problems if such a control happens to be partially overlapping another control (on a VI panel). I tried to "dislocate" the large scrollbar QControl to emulate a moving subcomponent, and put a String control underneath the transparent part of the cluster (separate control) as illustrated below: Sure enough, this String control is inaccessible at runtime. Unless I am missing something, that's a caveat users may want to consider before embarking into complex control design...
  24. Did not know about that function. Nice.
  25. FragRz I have the evaluation version of 2018 , so i looked into the 'User Interaction:Compare VIs XML and it does just what I need .... I will have to wait until we upgrade to utilize it ... Thanks Dan
  26. smithd

    LabVIEW Memes

    I'm not bothered by the size of that guy, I'm bothered that everything is serially executing
  27. i think those variant functions should be a tiny meaningless fraction of the overall execution time. Have you profiled it?
  1. Load more activity
  • Create New...

Important Information

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