03-08-2018 11:12 AM
@crossrulz
Are you saying this statement no longer applies?
An optimization in LV's compiler causes a case structure to execute entirely in the UI thread if any case of the case structure uses the UI thread and nothing in the other cases is explicitly unable to run in the UI thread.
That comment is probably from years ago, but I know nothing about the compiler changes.
mcduff
03-08-2018 11:39 AM
@mcduff wrote:
Are you saying this statement no longer applies?
An optimization in LV's compiler causes a case structure to execute entirely in the UI thread if any case of the case structure uses the UI thread and nothing in the other cases is explicitly unable to run in the UI thread.
That comment is probably from years ago, but I know nothing about the compiler changes.
That statement I cannot say anything about with certainty. But I do vaguely remember reading that comment way back in the LabVIEW 8.X days (just verified it on LabVIEW 8.2.1). And since LabVIEW 2009 had so many changes to the compiler, including being able to dive into subVIs to save memory allocations, I would speculate that it is no longer the case. It would require an engineer on the compiler team to say for certain.
03-08-2018 11:45 AM
@crossrulz
It would be nice if the vi library was updated from time to time to avoid this type of confusion.
In case anyone is wondering here is where you can find the comment, still in LabVIEW 2017 sp1, dig deep into the General Error Handler and Look for the VI "Set String Value"
mcduff