2012-01-09 8 views
0

フォームにMicrosoft Webブラウザコントロールを使用しようとしていますが、読み込みに時間がかかるサイトに移動すると、すべてのフォームがロードされるまでフォームUI全体がロックされます。これと戦うために、私は他のすべてにウェブブラウザコントロールを別々に実行しようとしています。私はこのチュートリアルを使用して、小さなサンプルアプリケーションを作成しました:http://msdn.microsoft.com/en-us/library/ms171728.aspx.NET VS2003のコントロールを呼び出します。

私は、以下の機能にエラーがあります:

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); 
     } 
    } 

ラインは、具体的に:

新しい__gc this->呼び出し(D、オブジェクト[] {テキスト});

エラーC2958: '\ testbrowser \ form1.h(56')で見つかった左括弧が '(' 正しく

にマッチしていなかった私は、__delegateためのサブデリゲートに持っていたgcnewのための新しい__gcと^ *についてだから私はこれが別の2003年の.NETの時代の問題の背後にあると推測していますが、エラーが表示されるのを止めるために探している正しい構文を知っていますか?

答えて

0

2003年には、 }配列イニシャライザはまだインラインです。名前付き変数に__gc new Object [] {text}を代入してみてください。

... wriから離れるためにできることは何でもしてくださいvs2003ではC++を管理していました。完全にひどいですし、2005年に導入されたC++/CLIは大きな改善点です。

関連する問題