Исключение AttributeError при доступе к COM DLL в Python - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь преобразовать программу VB6 в Python.Существующий код использует COM DLL (также написанную на VB6), которая называется "ThisDll.dll" в приведенном ниже коде.Это построено против библиотеки типов ("ThisTypeLib.dll").В VB6 ThisTypeLib.dll появляется в ссылках проекта, и код выглядит следующим образом:

Dim oThisClass As ThisTypeLib.IThisClass
Dim oTemp As Object

Set oTemp = CreateObject("ThisDll.CThisClass")
If TypeOf oTemp Is IThisClass Then
    Set oThisClass = oTemp
    oThisClass.OpenFile(sFileName)

Это код, который у меня есть в Python до сих пор:

import win32com.client
from win32com.client import gencache, constants

gencache.EnsureModule('<GUID>', 0, 1, 0)

thisClass = win32com.client.Dispatch("ThisDll.CThisClass")
thisClass.OpenFile(fileName)

IВы использовали makepy.py для создания исходного кода Python для библиотеки типов.Однако когда я запускаю код Python, я получаю исключение AttributeError для вызова OpenFile.Что я делаю не так?

...