06-15-2025 06:50 PM
Hello, I try to deference 5 float arrays generated and passed from dll.
I use DSnewptr to allocate 5 memory blocks, and each block is set as size of (float) * array length;
All 5 dst arrays can successfully dereference the float values, however, this vi will crash when some of the DSDisposePtr are being called.
I guess it crashes due to the addresses from DSnewptr are somehow modified by my dll function, and wrong address are passed for disposing.
This vi will not crash if I set the "block size"(array length) less equal than 13, and the addresses generated by DSnewptr will not changed by CLFN.
Please help! Thank you.
Solved! Go to Solution.
06-15-2025 06:55 PM
vi attached
06-16-2025 12:41 AM
The readXindata call library node for the array arguments must be changed to pass by value
06-16-2025 02:30 AM
The same goes for the src parameter to MoveBlock. The value you have is already a pointer. You are effectively overwriting the pointer address. You can see that in the pictures: the input and output of the sx terminals should stay the same.
06-16-2025 10:01 AM
Thank you!! It works now!!!!