Did you install BridgeSupport preview 1?  http://www.macruby.org/blog/2010/10/08/bridgesupport-preview.html
It is required to use C blocks.

Thanks,

- Matt


On Mon, Nov 15, 2010 at 2:51 AM, Alan Skipp <al_skipp@fastmail.fm> wrote:
Hello everyone,
I'm attempting to call a method on an Objective-C object which takes a block as its parameter, but I'm not having much luck.  I can happily create the object in Macruby and send the message with a Proc. The NSLog call within the Objective-C method body succeeds, but the 'block()' doesn't. Am I doing something obviously wrong here? (I'm using a nightly build from sometime last week).


This is the Objective-C method:

- (void)callBlock:(void (^)())block;
{
NSLog(@"block: %@", block);
block();
}

Here is the ruby code:

b = TestBlock.new
b.callBlock( Proc.new { puts "hello" } )


The output is as follows:

block: #<Proc:0x2005c9b80>
Program received signal:  “EXC_BAD_ACCESS”.

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel