Re: display message in work thread
"Mihajlo Cvetanovic" <mcvetanovic@gmail.nospampls.com> wrote in message
news:uhyTSAYIIHA.5208@TK2MSFTNGP04.phx.gbl...
Suppose you're making YANCC (Yet Another Norton Commander Clone), and you
want to implement "copy files in background" feature, meaning that each
copy operation (including list of files) has its own window. This could be
implemented with working threads, so that main thread remains responsive.
During copying YANCC may encounter existent files on destination, or
source files may be unreadable, or user may have insufficient privileges
to read the source file, or source file is actually a shortcut. YANNC
needs to know what to do in each case, and each case is different, and all
cases may appear in the same copy operation. YANNC can't continue until
the user decides what to do from some sort of message box window. The
question is should this window be displayed from main GUI thread (using
some synchronization mechanism), or from working background thread?
When the worker thread encounters an error, I think it should post a message
to the main thread informing of that case, then exit the worker thread. The
main thread, upon receiving the message, will display the dialog asking the
user what to do. If user chooses to continue, another worker thread is
created to continue the copy file work. If there is any state info
necessary for the new worker thread to resume where the other left off, then
the state of the first worker thread must be preserved and passed to the new
one.
-- David