У меня есть COM-объект, который я пытаюсь использовать из C ++ (не .NET), и все примеры программ и руководства написаны в предположении использования C # .NET или VB.NET. COM является новым для меня, поэтому я немного перегружен. Я использую #import на TLB, но изо всех сил пытаюсь разобраться с вариантами, которые используются в качестве параметров. У меня есть один конкретный метод, который в соответствии с документами и примерами программ на C # .NET должен возвращать объект []. Затем я должен привести первую запись в этом массиве к ControlEvent, который затем скажет мне, что делать с остальными объектами в массиве. Пример C # .NET выглядит следующим образом:
object [] objEvent = (object []) Ctl.GetEvent();
ControlEvent ev = (ControlEvent) objEvent[0];
В моем случае, GetEvent возвращает мне _variant_t, и мне нужно знать, как преобразовать это в объект [], чтобы я мог продолжить его обработку. Мне не ясно даже, как я выражаю «объект» в C ++. Я вижу документацию _variant_t, показывающую мне миллион вещей, в которые я могу конвертировать вариант, но ни одна из них, кажется, не конвертирует что-либо, что я могу использовать. Я надеюсь на некоторую помощь в преобразовании вышеуказанного кода C # .NET в Visual C ++
Спасибо.