繁体   English   中英

.NET为VS2003调用控件

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM