2012-11-29 1 views
3

Google 제품은 Microsoft Office 용 애드 인이며 일부 GUI가 있습니다.outlook-addin의 "GDI에서 일반적인 오류가 발생했습니다"

Graphics.DrawImage을 사용하여 이미지를 그립니다.

특정 사용자은 Microsoft Outlook에 GUI가 표시되지 않는 문제를보고했지만 동시에 Microfot Word에서도 정상적으로 작동합니다.

System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+. 
    at System.Drawing.Graphics.CheckErrorStatus(Int32 status) 
    at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height) 

내가 그 한정된 자원 문제의 어떤 종류에 암시 수 있습니다 알고 있지만, 일이 같은 GUI가 완벽하게 정상적으로 Microsoft Word에서 실행되고 있는지입니다 :

내가 로그에 표시되는 오류입니다. 또한, 우리가 그리려는 이미지는 16x16 크기의 작은 아이콘입니다.

특정 프로세스에서이 문제를 일으킬 수있는 제한 사항이 있습니까?

업데이트 : 파일 스트림에서 제대로로드되지 않은 특정 이미지에서 문제가 발생했습니다.

+1

memorystream 또는 디스크에서 이미지를로드합니까? ...? – K3N

+0

WebRespone 또는 포함 된 리소스에서 MemoryStream을 사용하고 있습니다. –

답변

1

MemoryStream을 사용하는 경우 이미지가 사용될 때까지 이미지가 사용되는 동안 스트림이 활성 상태로 유지되는 것이 중요합니다. 이는 이미지가 메모리 스트림이 나타내는 메모리 영역에서 가끔 읽어야하기 때문입니다.

이미지가 배치되기 전에 스트림이 닫히면 메모리 영역이 유효하지 않을 수도 있고 그렇지 않을 수도 있습니다.

이미지를 처리하면 스트림도 닫힙니다.

+0

마지막 문장이 올바르지 않습니다. 걱정할 것이 없다. –

+0

. 감사. 일요일은 사고 사고에 좋습니다. - P – K3N

+0

답변을 주셔서 감사합니다. 그러나 이것은 분명히 여기에있는 문제가 아닙니다 ... "Microsort Word"프로세스에서 실행되는 똑같은 코드가 있으며 완벽하게 작동합니다. –

관련 문제