03-12-2020 07:28 AM - edited 03-12-2020 07:30 AM
Labview default file dialog vi(Express VI) uses UI thread to load file.
It blocks other UI thread operations.
browse for Folder uses any thread(attached sample VI).
just like that I need wrapper VI to get file path.
03-12-2020 11:19 AM
Hmm, well for a dialog a UI thread usage is likely, but you could code your own VI with e.g. an Event Structure, set the properties to open on call and close when finished, and then use that to get a file path.
You could call it asynchronously and wait, or more likely just have it in a separate branch of code that whatever you didn't want to block.
03-12-2020 02:04 PM
Out of curiosity could you explain why this is important? Usually you WANT everything to stop when a file dialog opens so whatever you are reading/writing doesn't change while the dialog is open. e.g., you select a file but by the time you click the open button, it has been deleted.
03-12-2020 04:44 PM
There are a few things that appear to use the UI thread (at least back in 2015) that you wouldn't expect, like some VI server calls.
https://www.winemantech.com/blog/the-ui-thread-root-loop-and-labview-what-you-need-to-know/
I'd be interested to know what the OP is running into though as well, as even though the file dialog uses the UI thread the front panel will still update while the dialog is open.