2008-11-18 3 views
7

C++에서 ATL을 사용하여 COM 개체를 쓰고 있는데 내 메서드/속성에 VARIANT_BOOL을 사용해야하는지 여부가 확실하지 않습니다. 개체가 다른 C++ 응용 프로그램에서 호출되지만 .NET에서 사용을 배제 할 수는 없습니다.VARIANT_BOOL 대 BOOL

좋은 오래된 BOOL (IIRC는 부호없는 int 임)을 고수 할 수 있지만 VARIANT_BOOL이 있으므로 사용해서는 안됩니까? C++ 응용 프로그램에서이 메서드를 호출하면 VARIANT_BOOL이 '일반적인'부울과 같지 않으므로 코드를 추가해야하고 VARIANT_TRUEVARIANT_FALSE 값을 확인해야합니다.

VARIANT_BOOL은 내가 잊을 수있는 시대 착오적 인 행동일까요, 아니면 그걸 고수해야합니까?

+0

+1 Arul의 답변입니다. 그러나 간단히 말해서 VARIANT_BOOL을 사용하십시오. –

답변

2

VARIANT_BOOL은 COM 구성 요소 VB6을 친숙하게 만듭니다. COM은 C++에서 단순하게 일을 처리하는 것처럼 보이지는 않았지만 VB에서 사용하기 쉽게 만드는 데 중점을 둡니다. 이것이 여전히 COM 구성 요소의 .net 액세스에 적용되는지 여부는 확실하지 않습니다.