GP SoftwareTwitter
Opus FAQsManualCommandsObjects

Viewer Pane blocks file access from other applications

#1

When a text file is displayed in the Viewer Pane, and another application tries to write to that file, DOPUS can block access to the viewed file causing the other application to crash.

#2

If the other application crashes because a file is in use, that's a bug in the other application. It should, at most, show an error message.

The text viewer should not normally lock text files at all, at least unless they are very large.

How large are the files you are viewing?

Are they plain-text files or something else? (e.g. Word Documents are handled by a very different viewer.)

What happens if you open them in File Explorer's viewer instead of the Opus viewer?

#3

The other application is just executing an uncontrolled data dump with no error checking.
The file is a plain text file a few MBytes in size.
File Explorer previews the file prior to the uncontrolled data dump.
When the uncontrolled data dump starts, the File Explorer preview pane displays "File cannot be previewed".
When the uncontrolled data dump completes, File Explorer preview pane displays the file again.

Problem solved:
In order to get File Explorer to preview the file I had to use REGEDIT to assign “Computer\HKEY_CLASSES_ROOT[extension]” to assign the file type as “PerceivedType > text” .
Now that I have made this change, DOPUS viewer pane works fine and no longer results in a crash to the application.

#4

Sounds like it may not have been the text viewer displaying the file before. Or it may have been the text viewer but in Hex mode, where it may hold a read lock on the file if it is over a certain size, to avoid loading the entire thing into memory.

Read locks don't prevent other software from reading from the same file. Only from writing to the same file or trying to delete it.

If the program you are using to dump the data cannot cope with other software having read locks on the file, when it isn't trying to modify the files, then that is a bug in that program.

If it crashes because it doesn't have any error handling, that is also a bug in that program. It's not the Opus viewer causing either problem.