[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'
code:

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):
textbox.AppendText(string)

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

print "Define running"
#running = True

Thread.Sleep(0)
time.sleep(2)

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

Thread.Sleep(0)
time.sleep(2) 

Any clues would be greatly appreciated!

AndyF.
-- 
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