2012-05-28 8 views
3

나는 사용자가 TreeView 또는 ListView에 전자 메일을 끌어다 놓는 Outlook 2010 Add-In이 있습니다. 나는 다음과 같은 코드를 사용하고 이러한 이메일을 효율적으로 활용하려면 다음Outlook 2010 DragDrop 버그

Outlook._Application myOlApp = new Outlook.ApplicationClass(); 
Outlook.Selection droppedMails = myOlApp.ActiveExplorer().Selection; 

사용자가 droppedMails 세 이메일을해야합니다 예를 들어 세 개의 이메일을 선택하지만 그는 하나를 선택하면 첫 번째 선택 후 droppedMails가 될 경우 문제는 네.

제 질문은 myOlApp.ActiveExplorer()입니다. 선택이 두 번 지워지지 않는 이유는 무엇입니까? Outlook 개체를 릴리스해야합니까?

편집 : Outlook에서 전자 메일 미리보기는 작동을 멈 춥니 다

. 따라서 드래그 앤 드롭 후 선택된 모든 이메일은 미리보기를 변경하지 않습니다.

사용자가 Outlook에서 다른 폴더를 클릭하면 문제가 해결됩니다.

감사합니다.

+0

그래서 새 이메일 세 개를 선택하면 여전히 이전 세 항목이나 새 항목이 반환됩니까? – Default

+0

6 개의 이메일을 보내드립니다. 선택한 이메일은 6 세, 이전 세 및 새 세입니다. 새 이메일을 클릭하면 미리보기가 변경되지 않습니다. –

답변

5

일부 연구를 마친 후 삭제 된 전자 메일 COM 개체가 릴리스되지 않는 것으로 나타났습니다. 이를 해제하는 가장 쉬운 방법은 DragDrop Event Handler에 끌어서 놓기 로직을 ​​마친 후 e.Data.GetData("RenPrivateMessages"); 메서드를 호출하는 것입니다.

+0

대단히 감사합니다! 큰 도움! 나는 여기 4 시간 동안 붙어 있었어. – VJPPaz