各位高手,帮忙看个多线程的问题!!!
我想编个程序,能得到一些网页的数据。
该程序大致过程如下,点击Open按钮,弹出一个打开文件对话框,读入一个文件(url列表)的内容到一个memo中;再点击Get按钮,则每次从memo中读取一行,取得url,再调用Tcppwebbrowser去访问该url
然后再获得该网页的的信息,如标题等。
现在的问题是,点击Get后,我想用多线程做。
请大家指点一下。
Get按钮的处理大致如下:
iCount = mmoURL->Lines->Count;// 得到url的个数
while (m_iIndex < iCount)
{
AnsiString sURL = mmoURL->Lines->Strings[m_iIndex]; // 得到一个url
m_iIndex++; // 当前访问的url
TThreadProxy *pThread = new TThreadProxy(true);
cpp->Navigate2(TVariant(sURL), NULL, NULL, NULL); // 访问该网页
DWORD dwResult = WaitForSingleObject(m_hEvent, INFINITE);
switch (dwResult)
{
case WAIT_OBJECT_0:
pThread->Resume();
break;
}
ResetEvent(m_hEvent);
}
TCppWebBrowser的处理过程大致如下:
NavigateComplete2(TObject *Sender,
LPDISPATCH pDisp, Variant *URL)
{
SetEvent(m_hEvent);
}
但线程好像根本就没有执行。
请问,哪里出了问题???