托管C++多线程编译错误
我如果
webBrowser1->Navigate(url);
后直接判断
while(!webBrowser1->ReadyState==WebBrowserReadyState::Complete){
Thread::Sleep(200);
}
一直是卡死在循环里,估计要用多线程才可以
于是就这样
Thread^ web_Thread = gcnew Thread(gcnew ThreadStart(this,&Form1::web_Initialize(url)));
url是一个网站链接
private: System::Void web_Initialize(String^ url) {
webBrowser1->Navigate(url);}
但是编译出错:如下
9999.cpp
1>f:\技术\vs2010\myproject\9999\9999\Form1.h(153): error C2102: “&”要求左值
1>f:\技术\vs2010\myproject\9999\9999\Form1.h(153): error C3350: “System::Threading::ThreadStart”: 委托构造函数需要 2 个参数
1>
[解决办法]
web_Initialize 写成不接受参数的,
然后
ThreadStart(this,&Form1::web_Initialize)
这样试试.