10-22-2018 08:10 PM - edited 10-22-2018 08:12 PM
I'm trying to programmatically build my PPLs using the Application Builder VIs.
One of my libraries depends on a couple of others and overrides Receive Message (from Actor Framework).
This VI causes my library to be broken, because apparently it can't get the correct data type for the messages as a cluster that is passed to Cluster to Array:
Broken Receive Message.vi
If I drag any of the 4 messages (3 of which are part of the Actor Framework, in this case 2 from Actor Framework.lvlibp and the Report Error Msg packaged in a new and separate PPL) out of the cluster and immediately back in without releasing the mouse, the situation is unchanged.
However, if I drop the constant outside of the cluster, then pick it up and put it back in the cluster, the VI is fixed.
Fixed Receive Message.vi
Is there a way I can detect broken VIs (that's probably not too difficult) and then try and programmatically refresh/fix their data types (I suspect this is more difficult).
Mass compiling the directory also didn't work (just as a manual attempt to check something I believed would be possible to script) - the VIs were considered broken and so Bad VIs for the purpose of the Mass Compile dialog.
10-22-2018 08:26 PM
I see this kind of thing with generic units sometimes. In that case clicking the run button fixes it. Have you tried that?
10-22-2018 08:48 PM - edited 10-22-2018 08:48 PM
I tried that, and also Ctrl+Shift+R (or Ctrl+Shift+click on button to run) because I think that's the shortcut to force a recompile.
I just searched to check these shortcuts and found the following: Forcing a VI to Recompile
It appears that perhaps the clicking is important (rather than R) and further that Ctrl+Shift+click on run recompiles more than just a single VI...