首页 > 解决方案 > 带有 COM 接口的 C# 代码到 Python - 转换问题

问题描述

我无法在所需对象中转换comtype。我得到了一个可用的 C# 示例,并且必须将其转换为 python 代码。我为此使用 ComTypes。

详细问题:
对象层次结构如下(来自 CANoe 文档):

System  
  +Namespaces:Namespaces (collection)  
Namespaces  
  +Count
  +Item:Namespace
Namespace  
  +Name  
  +Variables  
  +Namespaces:Namespaces  

Python代码:

App = CreateObject('CANoe.Application') 
mNamespaces = App.System.Namespaces #oNamespaces = POINTER(INamespaces2)                       
mNamespace = mNamespaces.Item(3) #mNamespace = POINTER(INamespace), I have the Right object with a wrong interface. mNamespace had the right namespace object (_Statistics)
mStatisticsNamespaces = ? #here 

要传输的 C# 示例代码:

mSystem = (CANoe.System)mApplication.System;
mNamespaces = (CANoe.Namespaces)mSystem.Namespaces;
mNamespace = (CANoe.Namespace)mNamespaces["_Statistics"];
mStatisticsNamespaces = (CANoe.Namespaces)mNamespace.Namespaces;
mNamespaceCAN1 = (CANoe.Namespace)mStatisticsNamespaces["CAN1"];
mVariables = (CANoe.Variables)mNamespaceCAN1.Variables;
mVariable = (CANoe.Variable)mVariables["Busload"];

mNamespace 对象现在包含 Methods
mNamespace
+Name
+Variables

mNamespace 的
VisualStudio 变量视图 mNamespace 的 VisualStudio 变量视图

它接缝我必须像 C# 示例一样转换 mNamespace 对象。但我不知道如何做到这一点。我在 Python 中没有像 c++/C# 这样的包含,所以我不能像 C# 示例那样编写。

有没有人知道如何管理这个?

谢谢

标签: c#pythoncastingcomcomtypes

解决方案


推荐阅读