2011-04-28 70 views
1

我有一個Silverlight 4瀏覽器外的提升信任應用程序。我想使用OneNote 2010對象模型來使用AutomationFactory與OneNote進行通信,並且我無法使應用程序的GetHierarchy()方法正常工作。我知道我在OneNote中有數據,因爲我可以從.NET應用程序調用該方法並從中獲取數據。 GetHierarchy()方法返回null。有什麼建議麼?從Silverlight應用程序調用OneNote GetHierarchy()

class OneNoteAutomation 
{ 
    dynamic oneNote; 

    enum HierarchyScope 
    { 
     hsSelf = 0, 
     hsChildren = 1, 
     hsNotebooks = 2, 
     hsSections = 3, 
     hsPages = 4 
    } 

    public void GetHierarchy() 
    { 
     if (AutomationFactory.IsAvailable) 
     { 
      this.oneNote = AutomationFactory.CreateObject("OneNote.Application"); 

      var result = this.oneNote.GetHierarchy(
       string.Empty, 
       (int)HierarchyScope.hsNotebooks, 1);    
     } 
    } 
} 
+0

只是想檢查,看看是否下方回答您的問題(遺憾的是它並沒有解決這個問題,但它是唯一可能的答案現在)。 – 2011-05-03 09:40:30

+0

這是一個很好的答案 - 我只是在等待解決我的問題。 – 2011-05-03 13:23:28

+0

我聽說你。我會對可以在SL中使用* out *的答案感興趣。不幸的是,我不相信有人存在。 – 2011-05-03 20:08:10

回答

1

這是一個已知的bug,它與有「出」不能AutomationFactory使用方法調用的方法 - 請SL4 - AutomationFactory - Call method with 'out' parameters raise exception: 'Could not convert an argument for the call to...'

順便說一句,我不知道你正在嘗試與1做在您的GetHierarchy調用中 - 這是指向將使用所選HierarchyScope枚舉的XML填充的字符串的指針。它應該是一個字符串out變量,而不是一個整數 - 但無論如何,由於該錯誤,它仍然不能在SL4中工作。

+0

我確認這是Silverlight 4 COM自動編組器中的一個錯誤:[out]參數不起作用。 – 2011-05-04 14:50:44

相關問題