Jump to content

ShaunR

Members
  • Posts

    4,849
  • Joined

  • Days Won

    292

Everything posted by ShaunR

  1. That's not good at all. With some fiddling you might get 4-5Gb/s but that's what you expect from a low-end laptop. Are you sure it's Gb/s and not GB/s? You are hoping for at least 20Gb/s+.
  2. Running both client and server on localhost, the CPU usage is about 30% across all cores with one of the cores maxing at about 70%. I would suggest you try the same and see if you still get 100%. Doing this will isolate the network layers from the software. I suspect you will find that your 2GB limit is also present on localhost.
  3. I'll let you fight your argument in court. Until then, I'll just offer anyone who wants the code a zip file of my build.
  4. You are also required to supply the source and compile environments of the vanilla LGPL code even when just dynamic linking and that can be quite big in size. While one may argue it's merely a maintenance overhead, never-the-less, it is an overhead keeping track of (and version control of) other peoples source AND the specific compilation environment one used.
  5. Any strong copy left licence. It's not so much about that. For most open source licences it is primarily about someone taking your software, claiming it as their own, then sticking a new licence on it. You can get into a situation where someone that copies it, claims they wrote it and then comes after you for copyright infringement when you wrote the stuff. I had something like this on the NI forum where someone removed all the copyrights and proffered the toolkit as theirs. NI wouldn't remove it until I pointed out that it violated the licence which stated that all copyright had to remain intact and showed them the original toolkit (which had the licence text). Secondary to that, it enables good faith actors to know exactly how to distribute the software and comply with your wishes.
  6. Not at all. With zero debug information you identified 2 problems when most people couldn't have found the first. When it all goes to hell again, you can smile and say "come back and moan when you resolve that spurious system you refused to do anything about - and bring biscuits"
  7. Yes. The naming is the important part so you can even use it on menus by using appropriate tags to remove or disable items.
  8. Oh. IC. You said UAC and "elevation" I assumed it was Windows. I don't use terms like "Super User". They are things like Manager, Operator, Technician etc which makes more sense in a production environment. At the core, I use a database. Sometimes users are linked to the logon credentials of Windows so they log in and out of windows to get certain access rights. Control/indicator labels have a group in the name (e.g. label_1_TECHNICIAN, Label_2_MANAGER) and are hidden/shown on change events or when loaded. However. Controls/Indicators that are not dependent on login credentials (the default-usually OPERATOR) don't have a suffix (e.g. Label_3) meaning you only have to define the exceptions, rather than everything. It's the same for dynamically loaded modules (e.g. different configuration sub-panels loaded for different access rights). The VI has the group in the name (e.g. Config_TECHNICIAN). As you can imagine. I use captions for presentation, not labels.
  9. Checking very easy (IsUserAnAdmin). For exe's then there is the Manifest which is fairly automagic.
  10. LV 2011 uses .NET 3.5. Do you have that installed?
  11. A bugger to debug though And Mac with the Intel compiler, I believe.
  12. I'm guessing that your "array of floats" is an Array of Doubles but the floats are singles. Give this a try. Untitled 1.vi EDIT: Ah. You already fixed it while I was posting
  13. The checker is telling you that the functions listed (which you haven't shown) are not available on the platform. You have to resolve the bad imports (compile the DLL with equivalents or stubs) which is unlikely if you have used an automated process or wizard to create it instead of creating it yourself. If you cannot resolve the "bad imports" then you can't use the DLL on those platforms.
  14. But not by the same amount. That is indicative of multiple memory leaks. You must use the Diagram Disable structure to disable parts of the code until there is no memory leak and re-enable a couple of functions at a time to see when a leak returns. Then you can try and figure out why it is leaking. Until you know where it's occurring you are just flailing wildly and we can't really help you.
  15. You can use the Flush Event Queue if you want it to stop immediately instead of waiting for it to consume all events. If you are not consuming fast enough then eventually you will run out of memory so this VI can also be used to keep a maximum number of events (or over a time) and drop some if that occurs. That would ensure you never run out of memory and you will notice that you get discontinuities in the video (frames dropped) when it is happening.You can even have a boolean on screen to tell you that frames are being dropped.
  16. I suppose the nearest equivalent would be "Cruel to be kind"? We all know where it's at. But. Look at it this way. You and dadreamer help him get a callback working. He then get's to the decoding.. This thread already shows, not only how but the path of, implementing callbacks. That's where we are now and is useful to the community (certainly for me, at least). Going forwards maybe, just maybe, someone already has a decoder or suggests using ffmpg or some other way forwards. Maybe someone, thinks it would be useful to help over the next hurdle to get a decoder. Maybe alvise goes ahead and creates one. don't tell me that you wouldn't like that, eh? I see no downsides here. I see potential and a willingness to succeed-exasperating as that may seem at this point.
  17. Nope. The main problem is you are "learning" by doing something that 98% of the LabVIEW community couldn't do. I'm nowhere near as capable as Rolf or dadreamer on this stuff and if a client had asked me to do it I would have "declined to quote".
  18. I think that's a bit harsh. He's a programmer, not a developer. What's the difference? A programmer writes functions that they are told to write. A developer writes solutions. A team will usually have at least one developer designing the solution and producing functions to give to programmers to implement. the problem with these teams is that the programmers get blinkered into "follow ze orders" instead of thinking for themselves. When you look at the LabVIEW Architects exam, you are developing the solution and decompose it into VI's which are often non-functioning. Those functions are implemented by programmers. You (personally) can do both (a one-stop-shop for solutions) but the transition from a programmer to developer is a slow process of growth and mind-set. However. Can you imagine the carnage of responses and "assistance" if this was a Linux forum?
  19. I still don't quite understand this. Windows Handles are indexes into the Handle Table and is limited to something like 16M
  20. The use of the caption for text presentation instead of the label is, perhaps, a little understated as to it's usefulness. You can use labels to identify single controls or groups of controls by using a consistent naming convention (e.g. Button_1, Button_2 etc). By adding the VI name, this becomes a method of name-spacing controls across an entire application. This was how PassaMak (an old, on-the-fly, translation tool of mine) operated and how the Panel Settings Example above is supposed to be used.
  21. The SQLite API for LabVIEW had a feature for that. Very easy with a database. I suppose you could do something similar just by saving and loading a particularly named JSON file.
×
×
  • Create New...

Important Information

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