Как мне передать аргументы при инициализации обработчика событий с Win32com.client.withevents в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как мне передать аргументы при инициализации обработчика событий с Win32com.client.withevents в Python

Сообщение Anonymous »

Я пытаюсь использовать win32com.client.withevents, и я хотел бы иметь возможность передавать значения методу инициализации. Тем не менее, вход для обработчика событий является классом, а не экземпляром класса: < /p>
import win32com.client

#For my application this is what defines "document"
labchart = win32com.client.Dispatch("ADIChart.Application")
document = labchart.ActiveDocument

#This is the definition
ev = win32com.client.WithEvents(document, LabChartEventHandler)

#This is not valid, but is what I want to get to
ev = win32com.client.WithEvents(document, LabChartEventHandler(param1,param2))
< /code>
Можно сделать это потом, но есть ли способ передать аргументы конструктору, кроме как использование ранее определенных переменных, которые находятся в объеме? < /p>
#Workaround, not sure what happens if time elapses between initialization and these calls
ev.param1 = param1
ev.param2 = param2

#Current setup
param1 = 1
param2 = 2

class LabChartEventHandler:

def __init__(self):
#Grabs already defined param1, not ideal (in my opinion)
self.param1 = param1
self.param2 = param2



Подробнее здесь: https://stackoverflow.com/questions/795 ... 32com-clie
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»