[IronPython] Dispatcher Problem

AndyF. andy_fulstow at hotmail.com
Mon Jun 6 14:13:30 CEST 2011

Hi Chaps

I have attempted to purloin some of the code shipped with IP in Action and,
following issues, I have even gone to the lengths of reading the book!

I am getting the error 'expect Delegate, got Function' when I use the
following code. FYI I am passing in a reference to a WPF textBox so I should
have a dispatcher on my UI element

I have removed all of the threading pipe reading stuff just to leave 'test'

import System
import System.IO
import Avacta.Optim.Server.WebServices
import Avacta.Optim.Server.DataModel
import sys
import clr
import time

from System import Console
from System.Threading import Thread, ThreadStart

def SetDispatcher(ui_element):
global dispatcher # needed else "Exception: 'NoneType' object has no
attribute 'BeginInvoke'"
dispatcher = ui_element.Dispatcher 

def Dispatch(function, *args):
dispatcher.BeginInvoke(lambda *_: function(*args))

def GetDispatchFunction(function):
return lambda *args: Dispatch(function, *args)

class ListOutput:
def __init__(self, textbox):
self.textbox = textbox

def write(self, string):
Dispatch(self.addText, string) # error: "expect Delegate, got Function"
# self.addText(string) # ok works fine w-w/o dispatcher stuff

def addText(self, string):

if textbox != None:
listout = ListOutput(textbox)
sys.stdout = listout

print "Define running"
#running = True


print "Start The Comms Thread..."
#comms_t = Thread(ThreadStart(run_comms))


Any clues would be greatly appreciated!

View this message in context: http://old.nabble.com/Dispatcher-Problem-tp31782357p31782357.html
Sent from the IronPython mailing list archive at Nabble.com.

More information about the Ironpython-users mailing list