2008-11-18 16 views
7

Piszę obiekt COM w C++ za pomocą ATL i nie jestem pewien, czy powinienem używać VARIANT_BOOL dla moich metod/właściwości, czy nie. Obiekt zostanie wywołany przez inne aplikacje C++, ale nie mogę wykluczyć użycia z .NET.VARIANT_BOOL vs. BOOL

mogę trzymać się starej dobrej BOOL (które IIRC jest po prostu unsigned int), ale jak VARIANT_BOOL ma, nie powinienem go używać? Jeśli go używam i wywołuję te metody z aplikacji C++, muszę dodać dodatkowy kod, ponieważ VARIANT_BOOL nie jest jak "normalny" boolean i muszę sprawdzić wartości VARIANT_TRUE i .

Czy VARIANT_BOOL jest anachronizmem, który mogę zapomnieć, czy powinienem się z tym uporać?

+0

+1 Odpowiedź Arul. Ale w skrócie, tak, użyj VARIANT_BOOL. –

Odpowiedz

2

VARIANT_BOOL sprawi, że Twój komponent COM VB6 będzie przyjazny. Wydaje się, że COM nigdy nie był stworzony do robienia rzeczy po prostu w C++, ale bardziej skupiał się na ułatwianiu korzystania z VB. Nie wiesz, czy to nadal dotyczy dostępu .NET komponentu COM, czy nie.