2013-02-01 55 views
0

任何線索如何解決此錯誤?互操作類型'mshtml.HTMLHeadElementClass'不能嵌入

void wb_LoadCompleted(object sender, NavigationEventArgs e) 
     { 
      var doc = (mshtml.HTMLDocument)wb.Document; 

      HTMLHeadElementClass head = (HTMLHeadElementClass)((IHTMLElementCollection)doc.all.tags("head")).item(null, 0); // Error 

      IHTMLScriptElement scriptObject = (IHTMLScriptElement)doc.createElement("script"); 
      scriptObject.type = @"text/javascript"; 
      scriptObject.text = @"function btn1_OnClick(str){alert('you clicked' + str);}"; 

      head.appendChild((IHTMLDOMNode)scriptObject); 
} 
+1

由於在mshtml的情況下,它可能不是解決錯誤的正確方法,但解決「互操作類型不能嵌入」錯誤的快速方法是關閉「嵌入互操作類型」在參考本身的屬性菜單中。 – Brian

回答

1

合成COM互操作類的名字一端與「類」不嵌入。 「嵌入互操作類型」功能(又名「nopia」)僅支持實際出現在類型庫中的嵌入接口和coclass類型。

改爲使用接口類型mshtml.IHTMLHeadElement。就像你爲IHTMLScriptElement所做的一樣。

相關問題