Hi there! The Call Library Function Node has a undocumented upper left input wire, left of the output wire, corresponding to the return value, if any.
It looks like I can use this wire to influence the order in which different Call Library Function nodes execute. Is this a documented feature I can rely on or am I walking on thin ice here ? Furthermore I call the same non-thread-safe function twice in my VI, the Call Library Function Node of each being set to "Run in the UI Thread". If I don't enforce the functions to be called in sequence and I change the value of an unrelated VI control while the VI is running (in a While loop), the function generates an error as if it was called by LabVIEW assuming the function was thread safe. This behavior is very repeatible. If I enforce both instances of the same function to be called in sequence (by wiring the output value of the 1st function to the undocumented upper left input wire of the 2nd function), all problems are gone. Normally I'd expect that changing a totally unrelated VI control (double) which also runs in the UI thread may have no influence at all, but running the VI indicates otherwise. I tried to reproduce the problem based on a simple example, but I'm unable to obtain the same effect. Is there anyone out there who can comment on the behavior I described ? Thanks.
