2013-06-14 7 views
0

2010 내가 VS2010에서 C++ 프로젝트를 생성 : - 새로운 프로젝트 - 1> 비주얼 C++를 -> ATL -> ATL 프로젝트 -> 선택 DLL을. 2 - 생성 된 프로젝트 -> 추가 -> 클래스 -> ATL -> ATL 단순 개체를 마우스 오른쪽 버튼으로 클릭하십시오. 그런 다음 필요한 모든 정보를 썼습니다. 3 - 클래스보기 마법사 -> 인터페이스를 마우스 오른쪽 버튼으로 클릭 -> 메소드 또는 속성 추가.다음과 같이

이 모든 날 인터페이스에 메서드 또는 속성을 추가 할 수 있습니다. 하지만 인터페이스에 enum을 어떻게 추가 할 수 있습니까?

는 전 C#/VB에 의해 호출됩니다 ATL의 DLL 프로젝트를 만들었습니다. dll 작업의 상태를 제공하는 인터페이스에 읽기 전용 개체를 추가하려고합니다. 그래서 열거 형을 추가하는 것을 생각했습니다. 거기에 더 좋은 방법이 있습니까? 어떤 도움

감사

당신은 C++에서와 동일한 구문을 사용하여 IDL에서 수동으로 열거를 입력 할 수 있습니다
+0

가끔은 그냥 가서 수동으로 입력하기 위해 오래된 좋은 키보드를 사용해야합니다. 클래스에 대한 .h 파일을 열고 다음을 입력하십시오. enum MyEnum {value1, value2, value3} – cha

+0

이미이 작업을 수행했습니다. 하지만 DLL을 만들고 있는데이 열거 형은 누구든지이 열거 형을 읽을 수 있어야합니다 (예 : VB/C#). 제안을 사용하면 읽을 수 없게됩니다 (VB/C#에서는 읽을 수 없음). C++에서만 읽을 수 있습니다. VB/C#에서는 인터페이스에 추가 한 모든 메서드 만 찾을 수 있습니다. –

+0

COM 인터페이스 용 MIDL에 항목을 추가하기 만하면됩니다. 열거의 유형도 있습니다 : http://msdn.microsoft.com/en-us/library/windows/desktop/aa366818%28v=vs.85%29.aspx 정보 주셔서 – cha

답변

0

: 인수 유형으로 사용하는 경우 사용자가 키워드를 둘 필요가

enum MyEnum 
{ 
    VAL1, 
    VAL2, 
    ... 
}; 

을 당신의 열거의 이름 앞에 "열거"MyEnum 앞에 "열거"를 사용하지 않는 C++ 헤더/소스에서

[propget] HRESULT MyProp([out, retval] enum MyEnum* pVal); 

.