Код C # для Python с COM-интерфейсом - PullRequest
0 голосов
/ 25 июня 2019

У меня проблемы с конвертированием комтипа в нужные объекты. Я получил рабочий образец C # и должен преобразовать его в код Python. Для этого я использую ComTypes.

Подробная проблема:
Объект Hirachy является следующим (из документации 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 теперь содержит методы
mNamespace
+ Имя
+ Переменные

VisualStudio Переменное представление mNamespace
VisualStudio Переменное представление mNamespaces

Похоже, я должен преобразовать объект mNamespace, как образец C #. Но у меня нет идеи, как я могу это сделать. У меня в Python нет таких включений, как c ++ / C #, поэтому я не могу писать как образец C #.

У кого-нибудь была идея, как с этим справиться?

Спасибо

...