[英].NET Invoke a control for VS2003
我正在尝试在表单上使用Microsoft Web浏览器控件,但是,如果您导航到需要花费很长时间才能加载的网站,那么, 整个表单UI都会锁定,直到所有内容加载完毕。 为了解决这个问题,我试图将Web浏览器控件与其他所有控件分开运行。 我使用此教程创建了一个小示例应用程序: http : //msdn.microsoft.com/zh-cn/library/ms171728.aspx
我对以下功能有错误:
void SetNavigate(String* text)
{
if(this->axWebBrowser1->InvokeRequired)
{
SetNavigateDelegate* d = __gc new SetNavigateDelegate(this, &Form1::SetNavigate);
this->Invoke(d, __gc new Object[] { text });
}
else
{
this->axWebBrowser1->Navigate(text);
}
}
该行具体是:
this-> Invoke(d,__gc new Object [] {text});
错误C2958:在'\\ testbrowser \\ form1.h(56)'中找到的左括号'('不正确
我不得不为__delegate,为gcnew的__gc new和为*的^代理,所以我猜这是时代问题背后的另一个2003 .NET,有人知道我想要的正确语法以阻止错误出现吗?
在2003年,我认为您还不能内联使用{}数组初始化器。 尝试将__gc new Object [] {text}分配给命名变量。
...并尽一切可能摆脱在vs2003中编写托管c ++的麻烦。 这太糟糕了,2005年推出的C ++ / CLI是一个很大的改进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.