2011-04-28 3 views
1

Silverlight 4 브라우저를 벗어나는 권한 상승 트러스트 응용 프로그램이 있습니다. OneNote 2010 개체 모델을 사용하여 AutomationFactory를 사용하여 OneNote와 통신하려고하며 응용 프로그램의 GetHierarchy() 메서드를 작동시킬 수 없습니다. .NET 응용 프로그램에서 메서드를 호출하고 데이터를 다시 가져올 수 있기 때문에 OneNote에 데이터가 있다는 것을 알고 있습니다. 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

다음 질문에 답하는 지 확인하고 싶습니다 (불행히도 문제가 해결되지는 않지만 지금 가능한 유일한 대답입니다). –

+0

좋은 답변입니다. 저는 제 문제를 해결하는 것을 기다리고 있습니다. –

+0

내가 들었어. 나는 SL에서 * out *을 사용할 수 있도록하는 대답에 흥미가있을 것입니다. 불행히도, 나는 존재하지 않는다고 믿는다. –

답변

1

이 AutomationFactory에 사용할 수없는 '을'이 방법으로 호출 알려진 버그입니다 - 당신이 1으로 뭘 하려는지 모르겠어요, BTW SL4 - AutomationFactory - Call method with 'out' parameters raise exception: 'Could not convert an argument for the call to...'

를 참조하십시오 호출에서 - 선택한 HierarchyScope 열거 형의 XML로 채워질 문자열에 대한 포인터입니다. 정수가 아닌 변수 out 변수 여야합니다. 그러나 관계없이 버그로 인해 SL4에서 여전히 작동하지 않습니다.

+0

이것은 Silverlight 4 COM 자동화 마샬 러의 버그입니다 : [out] 매개 변수가 작동하지 않습니다. –

관련 문제