Jump to content

hooovahh

Moderators
  • Posts

    3,264
  • Joined

  • Last visited

  • Days Won

    243

Everything posted by hooovahh

  1. 2018 attached. It does require the OpenG File package. Find Ping IP Devices (2018).vi
  2. There was a couple, but I never used any of them. I think BLT is one that meets the needs, and I think Wirebird Labs had one, but that hasn't had any update in forever.
  3. Hey let's not get hasty now. But honestly this has bitten me on a few occasions as well, so don't feel bad.
  4. Is this a sequence editor? If so I don't see the tab design being very scalable. Here is a screenshot of something we do. It has a tree control on the left with all the different step types, with categories for them. Then the user can drag and drop an icon over to the right. Once they do a dialog will come up with the settings for the step they selected. They can also double click a step on the right for the settings for that step to come up again. There's lots of extra stuff like custom step limits, which is a slide out, and visual arrows if a step has a condition for jumping. Loops are seen as a tree on the right where you can drag and drop into or out of loops, and rearranging steps is also a drag and drop. There is also columns for icons that can be clicked, which is actually two picture controls because you can't have multiple glyphs in a tree, and if you can hack that in the icon size has to be real small. Each step has a typed cluster with the settings for it, that get flattened to a variant. You might not need to get this fancy, but a listbox of step types, and a listbox for the sequence might be a good start.
  5. I don't like VIs to be set to Modal in the VI Properties. I actually have a VI Analyzer test to find these. This is because when the VI reserved to be ran, but the panel is open, it will be modal, but also not running. In this situations aborting gracefully is difficult, and needs either an Abort All VI set to run when opened, or something like my Tray Launcher. Because of this I have very few modal VIs in my code, and instead I will set them to modal using VI server when the VI is running. If I have a VI that I want to be Model when it is running, I will set it with something like a constant of True when calling those panel manipulation VIs. I guess that's a long way to say "For debugging benefits". As for what VIs do I want to be Model? I'd say things that are dialog settings that need to be filled out now. If my user presses Start Test a dialog comes up asking about the details of the test to be ran, and that dialog is Model.
  6. I'm convinced most of the users of my software are illiterate. The good users of my software know the common troubleshooting techniques, and will blindly run through turning it off and on again before telling me. Then if "The red screen" comes up again they'll tell me, or take a picture with their phone. Honestly I prefer this over the "I don't know what it said".
  7. Finding only 156 LabVIEW jobs, and 476 COBAL jobs could be seen a couple ways. You could use it as an example of how bad LabVIEW adoption is. "See how there are so many more COBOL jobs than LabVIEW, and it hasn't been used in decades", or you could say the market has too many LabVIEW developers, for the number of available jobs in that area. I was referring to the multiple posts on that forum looking for work, and recruiters. They either had no reply, or replies from other people also looking for work. This post mentions using COBOL in several projects in the 2000s.
  8. I'm with you. I just assumed it was a suggestion that LabVIEW will soon be seen, the same way COBAL is today. Very little activity, and developers asking the void if there is any work for a thing they were an expert at not long ago.
  9. Apparently this is DataGrid. It would certainly have been more helpful to state that somewhere in the title or post. I can't edit the title, it is likely a restriction on the forum.
  10. I've never thought about adding this feature to my software but it seems so obvious now. It would be nice to know the color the mouse is over as the user moves it, so it can change the color of some object as the user does it. This almost seems like it should be an idea exchange so I made one.
  11. I am suggesting that, yes, but I can't prove it. My reasoning is just that every time I've been able to code around the Type Cast, it has improved performance. I admit that converting to a double is more complicated than my other examples so I could be wrong. I'm not exactly sure how a double becomes an array of bytes. It might be simple but for some reason it isn't clear to me what the conversion is. Casting a double "1" becomes 0x3F F0 00 00 00 00 00 00. Edit: The deeper down the rabbit hole I go, the more I think Type Cast should just be used in these cases.
  12. Oh don't get me wrong, what AQ posted here is great and anything to improve performance is appreciated. I'm just saying that a Type Cast function itself, is on the slow side, when compared to a more low level option. Lets say you are converting an array of bytes into an array of booleans. You can use the Type Cast, but depending on the use case a "Not Equal Zero" would be a better. Same with if you are converting to an enum. Having a case structure for the numeric, and then having enum constants for each value would be more efficient. In the example AQ posted you could do the raw math on the array of bytes, and get a double value. I suspect this would be better on performance, if someone spent the time to write a conversion from 4 bytes to a double and back.
  13. In general I try to avoid the Type Cast function. In the example AQ gave I probably wouldn't try to code around it, since that seems like it could be a pain. But something like a number to an Enum, or to a cluster or array, I may try to code it for better performance.
  14. I'm going to guess interfaces, and sub VI call replacing (non class override through VIMs)? Was there a target specific structure teased or did I dream that?
  15. It can. I believe the actual building will take place near the project in a hidden folder. So if your project is in C:\Code\Repository\Project Name, then you will have a folder like C:\Code\Repository\Project Name\Hidden Folder\VI.lib\... with all the code in it. So the full path to the reuse and project can be an issue. Shortening either is useful if that is the issue you are having. This was a much bigger issue in the XP days, where people would have source code checked out in their user folder, which was C:\Documents and Settings\Users\User Name\My Documents
  16. Yeah these suck sorry. So you can start by clearing the compile cache and trying again. This is in the Tools >> Advanced menu. Then close and reopen everything. It will take a while as it needs to compile all the code again. Then you can try to build again. Another thing you can try is to turn on the extra build details by adding NI_Appbuilder_logging = True in your LabVIEW.ini file. This will make a text file along side your project file with details about the build. It can be useful, but I've never had it tell me anything that helped with a build process. If you do ever get it working you can remove this line from the config, it will probably make the build take longer since it generates that log as it builds. I had a build that worked fine then it started getting harder and harder to build, needing to clear the compile cache a few times and try over and over. Eventually I went to LabVIEW 64 bit and that issue went away. That may solve one of your problems and create others.
  17. Thread locked, spammers seem to like this thread. Message a moderator if you want to actually reply.
  18. There's a bar I go to by my house that is a bit of a hole in the wall. They have flat panel modern TVs, but the wall mounts for all of them are huge where the CRTs once sat. Its funny to me to see such a thin light TV, sitting on a wall mount that could probably hold 300 pounds.
  19. Maybe it is trying to output to a display that isn't there? And on that display is a list of boot options, and pressing <CR> does the default choice?
  20. So back in the day the way I did this was with the Hiren Boot CD. You either burn the CD and use a USB CD drive, or get it on a USB drive and boot to it from there. There are a couple of security tools on it such as the Windows Login Unlocker, but I think the NT Password Edit was the thing I used, which is also on it. If you can't get to the bios I'm not sure you'll be able to change the boot order, and you might not be able to get that far anyway. Security changed with Windows 8, and I do believe these methods no longer work with modern operating systems.
  21. Thanks, I downloaded the vi, and edited the post adding it.
  22. That is cool but I don't know how to help. We did install Linux RT on a bare metal rack mount PC as a preliminary test. We never did any performance testing, we were just looking for potential new designs for systems. I'm sure if you get a hold of the right person at NI they would be able to help, but I don't have any contacts at the Linux RT R&D department. However, if you contact support they will probably laugh at you, sorry.
  23. Well I was having a hard time coming up with the words of what I actually needed. In my mind MoveBlock took a pointer to an array returned from a DLL and gets the actual array of data in LabVIEW. I wanted the opposite, which was to take an array of data from LabVIEW, and get a pointer for it. I agree the title is terrible, and MoveBlock can do both operations, with the only extra needed is allocating the memory with DSNewPtr, and releasing the memory with DSDisposePtr. That totally makes sense now. Thanks.
×
×
  • Create New...

Important Information

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