2010-07-03 10 views
1

bitmapmixer 샘플 (DirectShow.NET)에서 아래 코드가 있는데 다시 구현하려고했습니다. 원본 샘플은 정상적으로 작동합니다. 내 버전에서 컴파일하려고하면 오류가 발생합니다.'Marshal'이름이 현재 컨텍스트에 존재하지 않습니다.

private void AddHandlers() 
    { 
     // Add handlers for VMR purpose 
     this.Paint += new PaintEventHandler(Form1_Paint); // for WM_PAINT 
     this.Resize += new EventHandler(Form1_ResizeMove); // for WM_SIZE 
     this.Move += new EventHandler(Form1_ResizeMove); // for WM_MOVE 
     SystemEvents.DisplaySettingsChanged += new EventHandler(SystemEvents_DisplaySettingsChanged); // for WM_DISPLAYCHANGE 
     handlersAdded = true; 
    } 

    private void RemoveHandlers() 
    { 
     // remove handlers when they are no more needed 
     handlersAdded = false; 
     this.Paint -= new PaintEventHandler(Form1_Paint); 
     this.Resize -= new EventHandler(Form1_ResizeMove); 
     this.Move -= new EventHandler(Form1_ResizeMove); 
     SystemEvents.DisplaySettingsChanged -= new EventHandler(SystemEvents_DisplaySettingsChanged); 
    } 


오류


이름 '원수'가
오류이 존재하지 않는 이름 '원수'Form1.cs를 현재 컨텍스트에 존재하지 않는 오류 1 현재 컨텍스트에서 Form1.cs
오류 3 'Form1_ResizeMove'이름이 현재 컨텍스트에 존재하지 않습니다. Form1.cs
오류 4 'Form1_Paint가'
오류 5 이름 Form1.cs를 현재 컨텍스트에 존재하지 않는 이름 'Form1_ResizeMove'
오류 6 이름 Form1.cs를 현재 컨텍스트에 존재하지 않는 'Form1_ResizeMove'없는
오류 7 이름 Form1.cs를 현재 컨텍스트에
오류 (10)의 이름 Form1.cs를 현재 컨텍스트에 존재하지 않는 'SystemEvents_DisplaySettingsChanged' 'Form1_ResizeMove'
오류 11 Form1.cs를 현재 컨텍스트에 존재하지 않습니다 이름 'SystemEvents_DisplaySettingsChanged'가 현재 컨텍스트에 존재하지 않습니다. Form1.cs


도움을 주시면 감사하겠습니다.

감사합니다.

답변

9

Marshal 클래스는 System.Runtime.InteropServices 네임 스페이스에 있습니다. 적절한 using 지침이 있습니까?

using System.Runtime.InteropServices; 

기타 오류 - 해당 클래스에 해당 메소드가 있습니까? 그렇지 않다면, 이벤트 처리기를 구독하려고하는 줄을 제거하십시오.

+0

헤이 오류가 줄어 들었습니다. 존 [아무것도없는 것보다] – Haxed

+0

그것이 작동했습니다. – Haxed

관련 문제