Re: c++ event sink
are you meaning I should create a new thread from the primary thread
currently running?
then I pass a pointer of status to that thread like -
==============================
int * status;
// a new thread get initialized and pass a pointer of the status
// to the new thread
ThreadX * o1 = new ThreadX( &status );
// create the thread using _beginthreadex()
hth1 = (HANDLE)_beginthreadex(
NULL, // security
0, // stack size
ThreadX::ThreadStaticEntryPoint,
o1, // arg list
CREATE_SUSPENDED, // so we can later call ResumeThread()
&uiThread1ID
);
// after created the thread, primary thread continue execute
// primary thread keeps checking the status
// (integer value 1 = finish, integer value 0 = not finish)
==============================
ThreadX::ThreadX( int * status )
{
// if the XML thread finish loading data
// may be after 10 min, the status flag is set to 1 = finished
currentstatus = status ;
}
If you want to download the XML-file in a separate thread just
create a function that downloads the file and then launch it in its
own thread passing a pointer to the parent object/window - depending
in which environment you are running.
When the download is complete, you post a message to the parent
object/window saying that you are done. You can also continously post
messages to the parent to display the progress of the copy - probably
a good idea in your case since you say it takes so long to complete.
hth/Anders.