各位高手,帮忙看个多线程的问题!!!

ming6424 ming6424 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想编个程序,能得到一些网页的数据。
该程序大致过程如下,点击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);
}

但线程好像根本就没有执行。
请问,哪里出了问题???
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
ming6424
C++ Builder 13,871 成员 102,696 内容