-
Posts
4,939 -
Joined
-
Days Won
306
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by ShaunR
-
A bugger to debug though And Mac with the Intel compiler, I believe.
-
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
-
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.
-
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
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. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
It solved the symptom, not the problem. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
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. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
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. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
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". -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
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? -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
You were already given it, no? -
Leaving NI (for real this time)... for SpaceX
ShaunR replied to Aristos Queue's topic in LAVA Lounge
Awesome. Congrats. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
I still don't quite understand this. Windows Handles are indexes into the Handle Table and is limited to something like 16M -
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.
-
Anything you are no sure of, just open in a VM first.
-
Yup. NI read these forums too
-
LabVIEW memory management different from C ?
ShaunR replied to Youssef Menjour's topic in LabVIEW General
We don't know what the OP's competence is in C/C++ - only LabVIEW. Additionally. He may have access to very competent C/C++ programmers within the company. All I'm saying is that, generally, LabVIEW is pretty slow when it comes to computational functions when compared to C/C++. So if he thinks that he can get better performance from a DLL, then it's valid to try things out or to figure out how to tell another C/C++ programmer what interface to their code would be better for him. If I had 10 minutes in a room with the developers of OpenSSL 3, there would be a few choice words and ringing ears at the end of it -
LabVIEW memory management different from C ?
ShaunR replied to Youssef Menjour's topic in LabVIEW General
That's not strictly true. There are some standard situations where LabVIEW is extremely slow and one of those is for computational functions. As an example. Hashing, encryption et. al. is orders of magnitude faster using OpenSSL than native LabVIEW. I don't know much about AI but I do know it is computationally intensive. Amen to that -
LabVIEW memory management different from C ?
ShaunR replied to Youssef Menjour's topic in LabVIEW General
Yes. LabVIEW owns it, not the DLL Ready to take the training wheels off (orange nodes) and run in any thread (yellow nodes)? Me neither. I can understand wanting to figure out how to interface to external DLL's but this seems a lot of effort for no reward. Passing a LabVIEW array to a DLL would be more useful as a learning exercise and a lot easier. Maybe it's just that he is moving from C/C++ and so is trying to do things they way he always has. I think we (as LabVIEW programmers) often forget what an enormous paradigm shift it actually is. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
I still think this is possible. It's been a couple of years since I wrote C++ so will have to brush up to investigate. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
This is good practice. Depending on what version of LV I'm using, I also usually use the flush event queue with either a time (1 sec) or number of events (10) and raise a warning (dropping frames) if it is exceeded. This makes sure you don't run out of memory. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
Yes. That's why I was thinking about Varidics being told what function to create with a "creator" function (the cluster) defining it. -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
so your objection isn't the callback, per se. It's the PostLVUserEvent data type which is a void*. What if we fixed the data type to be an array of U8? That is the most common usage for getting data from callbacks and most types can be massaged into an array of bytes. I was thinking more of a Sunday afternoon while drinking a Negroni -
Using the DLL files of an application compiled with C# with labview
ShaunR replied to alvise's topic in LabVIEW General
I was wondering if we could have a generic solution for callbacks using Variadic functions/templates or maybe the Pack Expansion. We could prime the callback with a call to set the callback parameter list (cluster?) and target (the dll) we need and then apply the callback which has a PostLVUserEvent in its function body. -
NI have just put the distro's behind a paywall. Those links will die.