seb wrote:
> hi,
> my problem is the following:
>
> 1. With a function1, I give to a Dll a pointer to an allocated LabVIEW
> array.
> 2. with a function2 I send a "grab" command and the dll fill the
> memory pointed by function1
You can't do that. LabVIEW data is highly dynamical and can be
reallocated any time it wishes. LabVIEW only guarantees that a function
pointer is valid while the you are in your Call Library Node. After that
this pointer is in most cases invalid or at least can get invalid at any
time.
> then I try to (re)display the array in labVIEW (which must be changed
> by the dll) but the array has still his initial value....
You could have gotten a crash at the point where you call the Grab function.
> How can I force LabVIEW to reload the v
alue of the array from memory?
What function do you use to display the data? Probably an IMAQ Window or
a picture control. LabVIEW is about data flow. You can not tell a
control to reread some data pointer as a control does simply not
maintain a pointer to the original data at all. Once you pass the array
to the control it takes whatever data it needs and displays it and
forgets about that pointer.
You will explicitedly have to execute code where you wire the array or
whatever again to the control to be displayed eventhough you believe it
is the same memory and all, LabVIEW works mainly with dataflow and there
usually has to flow some data on the diagram to cause LabVIEW to do
something.
Rolf Kalbermatter
Rolf Kalbermatter
My Blog 
DEMO, Electronic and Mechanical Support department, room 36.LB00.390