Jump to content

Mellroth

Members
  • Posts

    602
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by Mellroth

  1. I would say it is because this is not re-registering at all, but creates a new registration at every iteration (because register refnum is not wired into the registration node). This code is leaking references at each iteration of the upper loop (check Desktop Execution Trace Toolkit) Just follow the suggestion from Greg and move the registration out of the loop and you should be fine. /J
  2. I'd like to be able to build packed libraries with a flat structure regardless of the actual file structure, i.e. no history of folders in the paths. A safe way to do it seems to be 1. create a Source distribution that adds prefix to files 2. use an auto-populating folder to suck all the source distro files into the project 3. build the packed library from the library in the source distro. Since this works I really don't see any point why the "Preserve hierarchy" option is always enabled and dimmed in the packed library build specification. I have even tried editing the .lvproj xml-file to disable the "Preserve hierarchy" option, and it sure works. Have anyone else tried this? Why is the Preserve Hierarchy option dimmed in the first place? From my point the packed libraries should never include the file structure, instead I'd like them to reflect the virtual hierarchy of my public files in the lvlib that is the source of the packed library, or am I missing something that makes the paths essential? /J
  3. I thought that MikeL wanted to remove the connection to the typedef while preserving the constant values. It is all about having fun ;-)
  4. Isn't it enough to open the typedef, and turn it into a ordinary control, apply changes, and then remove the typedef from the library? /J
  5. I also had a similar issue where a simple VI using Variant attribute lookup took a long time to execute if the owning library/class was opened. The time difference was never measured, but running through ~1000 elements was noticeable slower. I tracked this down to be an issue with re-entrancy, once I made the VIs reentrant the execution speed was the same regardless of where it was started. /Jonas
  6. If you rename in LabVIEW, I believe you can "Detect" renames in the Mercurial commit dialog. It is still a bit of manual work, but I think the history is preserved. /J
  7. You can use the RT Target information to get a list of all connected RT systems, and from this list filter the system to connect to , e.g. by name, type etc. As long as both cRIOs use the same name, no dialog should be necessary, regardless of network environment. /J
  8. Personally I would use the DAQmx API. In the DAQmx/Advanced/System palette you find the System property node, that will give you information about the currently used devices, as well as all configured tasks and global channels. To get more info for a specific device you use the Device property node in the same palette. Note that with CompactDAQ the Device property node returns references to both the chassis as well as individual modules. /J
  9. Instead of using the command line, you can use the "Open URL in Default Browser" VI in LabVIEW. You'll find this in the "Dialog and User interface"->"Help" palette (or in Quick drop). This VI is polymorphic, and accepts a path or string as input. When given a path it opens the path using the default program for that file type. It even works with path to folders, allowing you to open a specific folder from your application. /J
  10. I think this is the originally posted MCL, but with code to display symbols in a specified number of rows-columns. MultiColumnListbox with MultiColumnSymbols.vi /J
  11. Enable VI scripting features, and then look in the Application features of the"Edit Events" dialog. The event will be fired whenever a new BD or FP is activated. /J
  12. I don't think flushing events would solve this, e.g. how can you be sure that the last element isn't already in the event queue, meaning that flushing will remove the most important element you actually want to handle. Letting the timeout case handle the last event can be very neat, and I use this very often in small UIs. Another option is to use a size limited queue used with the lossy enqueue primitive. This can be handled in the timeout case, or in a separate consumer loop depending on the requirements. /J
  13. WireFlow donates a complete Security Suite for LabVIEW, including; a WF2008 dongle for Windows, Mac and Linux applications a WF2007 dongle for LabVIEW RT systems a License dongle for programming both WF2007 and WF2008 dongles. /The WireFlow Team
  14. Tickets bought, see you all there. /J
  15. WireFlow releases the first Security suite software that is natively supported on any LabVIEW platform with an available USB port, including VxWorks and Pharlap based Real-Time targets. The security suite addresses IP protection issues for the LabVIEW platforms; not only does it add copy protection, but also enables user identification and feature control. To learn more, please visit http://www.wireflow.se/news/SecuritySuite_news /The WireFlow Team
  16. Not a solution to flip back and forth, but to compare two cases you can open the same VI in two different projects, and get a side-by-side view of the differences. /J
  17. <shameless plug> WireFlow is about to release a solution for any LabVIEW target with an USB port. Expected release is in a week or two, keep an eye on our webpage, lavag.org or LabVIEW Tools Network. </shameless plug> /Jonas
  18. The only reason I can think of is that if you have a plug-in that can be used multiple times in your application, the Title and Description would be shared between menu entries. With a text based plugin, menu items with different names can use the same plug-in code. /J
  19. A few ideas; 1. Use StringToIP configured to output multiple IPs (right click and select Multiple Output) to see if your application sees your NICs 2. Make sure the NICs are on different subnets, If not, I believe Windows will select the first NIC matching your requested IP address. /J
  20. Just be aware that this setting can cause builds to fail with very strange errors, e.g. on my system I could not build applications that linked to the LabVIEW error database. At first I removed the "Copy error code files" option to be able to build my application, but in the end I realized that the .NET 4.0 was the actual cause. /J
  21. I would think that RT FIFOs are faster, but you can preallocate a queue by adding N dummy elements of correct size to the queue and then flush the queue. /J
  22. Off Topic again; the reason for sub-routines got a much better explanation now.... Merry Christmas everyone /J
  23. Can it be that you see the ASCII values corresponding to the characters you send from LabVIEW? /J
×
×
  • Create New...

Important Information

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