Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by candidus

  1. Maybe Jenkins reads StdErr instead of StdOut. Try to change the argument of DuplicateHandle() to StdErr (-12). Just a guess, I didn't try that myself.
  2. Great article, thanks! And a pretty cool way to explain things in LV terms OK, here the detailed explanation as promised: You can find a very simple example in the ZIP file attached to my first post, GZipStream.Example.vi . There's a file Hello.txt, if you run GZipStream.Example.vi you'll get the compressed file Hello.txt.gz . To decompress it, activate the other frame of the diagram disable structure and run it. The output will be Hello2.txt . There's not much to say about this example VI, the code consists of just .NET invoke nodes and properties. The code of Crea
  3. Benoit, sorry about the missing documentation. The snippet above is just the constructor call new GZipStream(Stream stream, CompressionLevel compressionLevel) expressed via .NET reflection. Yes, it is that complicated but at least it's possible. For a more complete example see the ZIP file appended to my first post. I will write a more detailed explanation tomorrow.
  4. All required libraries should be able to coexist peacefully. What happens if you add Controls.lvlibp to Limits (TSC_XML).lvproj? Does it help or does it make things worse?
  5. Don't always believe what others say :-) When the .NET support of LV doesn't suit your needs use .NET reflection. This way you can get exactly the constructor you want. Here is some code to show the idea: GZipStream.zip
  6. I put the game in a GitHub repository: https://github.com/mus-candidus/Labricks
  7. I did it: Here is the URL to the GitHub repository: https://github.com/mus-candidus/StyledText Please move this thread to "Code in Development".
  8. Get Current LV Bitness.vi will return the bitness of the currently running LV instance so this should work. Why do you need it? Do you have to call external code depending on bitness?
  9. Great suggestion! Here you are. StyledText-20181006-LV2010.zip
  10. There's a VI in vi.lib: vi.lib/Utility/Get Current LV Bitness.vi Note that this VI is not on the palette.
  11. Cool, if I knew that before I probably didn't create my own library. Probably I used the wrong keywords for my search on LAVA. But now that my library exists, what to do with it? Submit it to the CR? Create a GitHub repository? Do both? I'm unsure...
  12. I was looking for a way to specify text styles programmatically. After some unsuccessful attempts I found an approach that works surprisingly well, using selection and font properties. I wanted to use some HTML-like tags so I wrote a small library to do the work. Also included: A general-purpose 'about' dialog. Enjoy :-) StyledText-LV2010.zip StyledText-LV2010.zip
  13. There is a reason to refactor: I have to add more features and I don't want my toplelvel VI to become any bigger - currently it has a huge block diagram... That's it! I began to experiment with an event containing a variant-based lookup table, then I looked at Messenger Library and saw that all I need is already there. Thanks!
  14. Yes, the builder runs in a different application context. But you can open your project from the Pre-BuildAction.vi, invoke GetAllDescendants until you find your VI and then get its callers. That should work.
  15. I have to decouple the UI part of a medium size application (approx. 2000 VIs) from its core. When we created the application it was a simple state machine. Later we realized that some operations must be asynchronous so we added an event-based control loop that controls the state machine via user events. But it was still a single VI and over the years it grew bigger... Now I decided to move the state machine (approx. 70 states) into a subVI but since there never was a separation between the UI part and the non-UI part I now need a way to access the UI controls (approx. 40 cont
  16. I had no problems with libraries. Maybe this helps: If you open the VI by name instead of path you need the fully qualified VI name and the VI must be in memory. The VI you want to call remotely has to be in the public scope. Here is the modified example project. RemoteLib.zip
  17. Here is an example how to call a VI in a remote Executable. Note that I couldn't get it work without a custom INI file so this might be the most interesting part for you. Remote.zip
  18. A slight modification of the variant approach: Pass the common camera parameters as a cluster and pass only the device specific parameters by variant. This variant could either be a separate parameter or a member of the initialization cluster.
  19. There was such a thing in the old times of LV6 . Here is what I remember (This was nearly 15 years ago, my memory about this stuff is dim): LV player was able to run signed VIs, you were even able to see (but not edit) their block diagrams. To sign a VI you needed a special tool that required a LV6 Professional Development System. Without LV6 and this signing tool you won't be able to do anything useful with the player. I don't see a reason to resurrect this old piece of software, except for nostalgia :-)
  20. Not exactly a constant but a VI that returns the path separator: vi.lib/Utility/sysinfo.llb/Get File System Separator.vi
  21. AQ gave the right instructions but we have to use a private method to set the VI Path. I stumbled upon that when I tried to script XControls.
  22. Not always. If your active window is the block diagram it returns its HWND Just out of curiosity: Are there use cases for a modal dialog that doesn't belong to the active window?
  23. I have to admit, a blurred texture doesn't help that much. Here is a windows-only solution using .NET . The possible values of Graphics.TextRenderingHint are explained in the MSDN: https://msdn.microsoft.com/en-us/library/ssazt6bs%28v=vs.110%29.aspx.
  24. You're right, the aliasing happens in the 'Picture to Pixmap.vi' but since texturing involves scaling and filtering the result looks slightly better than just using 2D with a big font size. You can then call "Render To Image" and save the result as JPEG.
  • Create New...

Important Information

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