IDL에서 noncreatable coclasses를 다음과 같이 선언 한 이유는 무엇입니까?IDL의 비 가공 할 수있는 균류의 목적은 무엇입니까?
[
uuid(uuidhere),
noncreatable
]
coclass CoClass {
[default] interface ICoClass;
};
어쨌든 이러한 클래스는 COM에 등록되지 않습니다. IDL 파일과 그 IDL 파일을 컴파일하여 생성 된 유형 라이브러리에서 언급해야하는 이유는 무엇입니까?
이 클래스의 객체가 외부에서 생성되는 것을 원하지 않는 척 해봅시다 - 일부만 인터페이스를 반환하십시오. 검색/생성 방법. IDL에 클래스를 선언하고 그것을 작성 불가능하게 만드는 데 어떤 의미가 있습니까? 왜 그 선언을 생략하지 않습니까? – sharptooth
noncreatable은 당신이 물어 본 것뿐입니다 :). 이 클래스를 그대로두면 다른 클래스의 모든 MS-VBA 호환 도구의 개체보기에있는 모든 기능을 사용할 수 있지만 사용자 지정 작성자를 통해 만들 수는 있지만 만들 수는 없습니다. –
@sharptooth 형식 라이브러리에서 클래스를 모두 생략하면 지원하는 메서드를 어떻게 정의 할 수 있습니까? –