Я использую python и искажаю, чтобы написать программу управления snmp, часть этого требует, чтобы некоторые кнопки на стороне клиента были привязаны к методу удаленного набора snmp, это обрабатывается с помощью перспективного брокера.
for item in devicevars[current+" buttons"]:
ttk.Label(buttonframe, text=item + ":").grid(column=1, row=i2, sticky=(E))
ttk.Button(buttonframe,width = 3,textvariable=guivars["%s %s" %(current,
item)],command=remoteButton(current, item)).grid(column=2, row=i2, sticky=(W))
i2 = i2+1
def remoteButton(dname, value):
rbutton= pbfactory.getRootObject()
rbutton.addCallback(lambda object: object.callRemote("SNMP", dname, value))
rbutton.addErrback(lambda reason: 'error: '+str(reason.value))
Проблема в том, что этот код вызывает срабатывание удаленного метода сразу после запуска клиента. Кто-нибудь знает, почему это происходит?