The NavigateComplete2 event coudl be fired many times. So we could not rely
on it.
IE core is downloading a file. It will hang sometimes.
"Tom Lee" <Tom.Lee@community.nospam> ha scritto nel messaggio
news:BC70C71D-74E5-4133-850A-E2E1FC0EB120@microsoft.com...
I found if I call the CHtmlView::Navigate2 very quickly, it will hang the
process.
[...]
//Get the XML files full path and put them into a vector.
TCHAR szPath[MAX_PATH*4];
ZeroMemory(szPath, MAX_PATH*4);
This is unrelated to your original question, but I think you have a bug
here.
The above code is correct in ANSI builds, when TCHAR = char = 1 byte.
But in Unicode builds, you are zero-ing 50% of szPath memory, not 100%.
You should write:
::ZeroMemory( szPath, MAX_PATH * 4 * sizeof(TCHAR) );
or
::ZeroMemory( szPath, sizeof( szPath ) );
this->Navigate2(*m_curIter, NULL, NULL);
CString cs;
cs.Format(_T("i = %d, Navigate2 %s\n"), i, *m_curIter);
OutputDebugString(cs);
m_curIter++;
}
//Use this function to tigger the nvaigate2 again.
void CTestHVView::OnRunAgain()
{
SetTimer(1, 10, NULL);
}
Any comments are very appreciated!
The timer set to 0.01 seconds is very fast... maybe you should wait for a
NavigateComplete2 event to be fired before calling the Navigate2 method
again...
Giovanni