Hi Bassel,

Ruby provides its own support for asynchronous operations in its Thread
class:

Thread.new do
  puts "howdy!"
end

If you specifically need to run a .NET delegate asynchronously, you can call
its invoke method within this structure:

Thread.new do
  my_action.invoke
end

More info on Ruby's Thread class:
http://corelib.rubyonrails.org/classes/Thread.html

Does that meet your needs?

Cheers,
Mark

On Wed, Feb 10, 2010 at 11:25 PM, Bassel Samman <li...@ruby-forum.com>wrote:

> Hello guys,
>    I'd like to use asynchronous delegates, but it doesn't seem to work.
> The IronRuby website mentioned that I can do:
>
> ______________________________________________________________________
> >>> require 'System'
> => true
> >>> require 'System.Core, Version=3.5.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089'
> => true
> >>> my_action = System::Action.new { puts "Howdy!" }
> => System.Action
> >>> my_action.invoke
> "Howdy!"
> => nil
> ______________________________________________________________________
> That works fine, but if I try this instead:
>
> ______________________________________________________________________
> result = my_action.BeginInvoke(nil,nil)
> my_action.EndInvoke(result)
> ______________________________________________________________________
>
> I get:
>
> System::NullReferenceException: Object reference not set to an instance
> of an object.
>
>
> Am I missing something, or is there another way to do asynchronous
> delegates in IR.
>
> Thanks in advance,
>
> Bassel
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to