11-19-2008 07:22 AM
When 'Select File Path' popup by click the 'Browser' button, the 'Open file' vi will be blocked.
I found it when I trying to select a file by 'Select Path' popup, all the system log stop recording.
Is it true?
Any suggestion? (Will it help if set the vi for system log for re-entry). I need the log keep on going even when somebody click and popup the file path browser.
Thanks.
Solved! Go to Solution.
11-19-2008 07:58 AM
Turbot,
i am not sure that i understand your issue correctly. I asume that you are using something like Open File without connecting a file path name no to it. This function will create a dialog in this case and will stop the execution of the LV program in the mean time.
This is normal behaviour since LV cannot know what the file's name will be unless the user selects a file. So this dialog HAS to block the execution until either confirmed or canceled.
If you don't like that behaviour, you have to either
a) split logging from the rest of the program
b) wire a predefined file name to the Open File.
hope this helps,
Norbert
11-19-2008 08:08 AM - edited 11-19-2008 08:08 AM
Hi, Norbert,
I guess, Turbot mentioned following:

Looks like block with UI thread. VI (LV 8.6) in attachment.
Andrey.
11-19-2008 08:48 AM
Yes,the vi popup the 'File path select' and the system log vi are 2 different vi. Almost no relation between them.
11-20-2008 04:40 AM
11-20-2008
09:03 AM
- last edited on
05-09-2025
09:20 AM
by
Content Cleaner
Hi, Wiebe,
Not sure that this is the bug, probably somewhere this behaviour documented 😉
Anyway, there are other posibilities to block cycles when Dialogs or MessageBox called.
Look at screenshot below (sorry, pretty big): there are 6 different cycles, which are blocked by different actions:

Refer to doc Multitasking in LabVIEW
But I agree, some of such "blocks" can be positioned as bugs.
regards,
Andrey.
Attached examples for LV 8.6 and 8.5
11-20-2008 09:29 AM
Great collection Andrey!
I ran into that issue once and did not find the time yet to dig deeper, it was either a queue or a TCP connection (or maybe it was just the status logging of the TCP connection) that was blocked by the file dialog. I will certainly have this post in mind when I will continue to work on that code.
Felix
11-20-2008 11:40 AM
11-20-2008 12:04 PM - edited 11-20-2008 12:14 PM
Thanks. The best way to prevent such "deadlocks" is avoid to use property nodes, DLLs in UI thread, etc (in general all elemenths which caused switch execution thread to UI) in any time-critical loops. For example - there are two loops - they almost the same, but one is faster, and another is slow:
I mean that sometimes we can easily recognize deadlocks: MessageBox called, then cycle stopped completely. But sometimes as in example above you can't recognize some small dynamical deadlocks easily. Just don't use "blocked" elemenths.
Andrey.
11-20-2008 08:10 PM
Thanks for all. Actually I just want to make all the log keep on recording when file browse button of a path control is clicked.
May I know what is the best way to do it. And how to implement with the user dll.
Thanks a lot.