Я пытаюсь преобразовать программу 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
.Что я делаю не так?