我有一个我试图从 C++(不是 .NET)使用的 COM 对象,并且所有示例程序和手册都是假设使用 C#.NET 或 VB.NET 编写的。COM 对我来说是新的,所以我有点不知所措。我在 TLB 上使用#import,但正在努力处理用作参数的变体。我有一种特殊的方法,根据文档和 C#.NET 中的示例程序,它应该返回一个对象 []。然后我应该将此数组中的第一个条目转换为 ControlEvent,然后它会告诉我如何处理数组中的其余对象。C#.NET 示例如下所示:
object [] objEvent = (object []) Ctl.GetEvent();
ControlEvent ev = (ControlEvent) objEvent[0];
就我而言,GetEvent 正在向我返回一个 _variant_t,我需要知道如何将其转换为 object[] 以便我可以进一步处理。我什至不清楚我如何在 C++ 中表达“对象”。我看到 _variant_t 文档向我展示了一百万个我可以将变体转换为的东西,但它们似乎都没有转换为我可以使用的任何东西。我希望在将上述 C#.NET 代码转换为 Visual C++ 时得到一些帮助
谢谢。