[Ironruby-core] Dispatcher.Invoke

Patrick Brown patrickcbrown at gmail.com
Tue Nov 24 15:34:02 EST 2009


Ivan

   Thank you so much, you have been a great help, what slowed me down is
that your current sample which works is actually a bit different than the
previous two.

Patrick

On Tue, Nov 24, 2009 at 3:18 PM, Ivan Porto Carrero <ivan at flanders.co.nz>wrote:

> This works for me:
>
> require 'PresentationFramework'
> require 'PresentationCore'
>
> class MainWindow < System::Windows::Window
>
>   def update_status(status)
>     puts status
>   end
>
>   def initialize
>     meth = proc { |status| update_status status }
> dispatcher.invoke System::Action.of(String).new(&meth), "jo"
>   end
> end
>
> System::Windows::Application.new.run MainWindow.new
> ---
> Met vriendelijke groeten - Best regards - Salutations
> Ivan Porto Carrero
> Blog: http://flanders.co.nz
> Google Wave: portocarrero.ivan at googlewave.com
> Twitter: http://twitter.com/casualjim
> Author of IronRuby in Action (http://manning.com/carrero)
>
>
>
>   On Tue, Nov 24, 2009 at 8:56 PM, Patrick Brown <patrickcbrown at gmail.com>wrote:
>
>> Hi
>>
>>    Thanks for your help, it still seems to be a bit off, I get this
>> message after I cut and pasted your code in.  Still looking into it but not
>> finding much...
>>
>> ./MainWindow.rb:56: can't convert Proc into System::Delegate (TypeError)
>> Thanks,
>> Patrick
>>
>>
>>
>> On Tue, Nov 24, 2009 at 2:09 PM, Ivan Porto Carrero <ivan at flanders.co.nz>wrote:
>>
>>> Yes it is possible but you need to wrap it in a Delegate like Action for
>>> it to work
>>>
>>> A ruby method is not a CLR delegate at all.
>>> So you can do something like this
>>>
>>> def update_status(status)
>>>   puts status
>>> end
>>>
>>> def initialize
>>>   meth = proc { |st| update_status(st) }
>>>   self.dispatcher.invoke meth, %w(jo)
>>> end
>>>
>>>
>>> ---
>>> Met vriendelijke groeten - Best regards - Salutations
>>> Ivan Porto Carrero
>>> Blog: http://flanders.co.nz
>>> Google Wave: portocarrero.ivan at googlewave.com
>>> Twitter: http://twitter.com/casualjim
>>> Author of IronRuby in Action (http://manning.com/carrero)
>>>
>>>
>>>
>>>   On Tue, Nov 24, 2009 at 7:44 PM, Patrick Brown <
>>> patrickcbrown at gmail.com> wrote:
>>>
>>>>   Hello
>>>>
>>>>    Is it possible to call the Control.Dispatcher.Invoke in IronRuby?  I
>>>> have been digging around and trying various approaches for quite a while and
>>>> can't quite seem to get it to work.  The most simple example I below where I
>>>> do not even access the parameter fails... any ideas would be greatly
>>>> appreciated.
>>>>
>>>>  class MainWindow < Window
>>>>   def updateStatus(status)
>>>>     puts 'hi'
>>>>   end
>>>>
>>>>   def initialize
>>>>     self.Dispatcher.Invoke(updateStatus, ["jo"])
>>>>  end
>>>> end
>>>>
>>>> Thanks for your time and ideas,
>>>> Patrick
>>>>
>>>> _______________________________________________
>>>> Ironruby-core mailing list
>>>> Ironruby-core at rubyforge.org
>>>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Ironruby-core mailing list
>>> Ironruby-core at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>>
>>>
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20091124/54c7761d/attachment.html>


More information about the Ironruby-core mailing list