Thanks for the info. I'd wrongly assumed that as blocks can be treated as 
Objective-C objects that I could just go ahead and use them in Macruby.
I have it working now, which is great, though I do have one more question. 
Initially I was receiving the same errors after I'd included the framework with 
a bridgesupport file into my project. I finally got it working after invoking, 
'load_bridge_support_file' in my controller class. Is there something I should 
be doing that would enable macruby to automatically detect and load the 
bridgesupport file included in my framework?

Cheers,
Al

On 16 Nov 2010, at 22:23, Thibault Martin-Lagardette wrote:

> Also, it is to note that if the block lives inside a framework you've made 
> (or downladed – one that is not part of the system), you'll have to generate 
> the BridgeSupport files yourselves.
> This is important because the runtime needs to know that you're trying to use 
> blocks, and you instruct it to use them by creating and using the said 
> BridgeSupport files :-)
> 
> -- 
> Thibault Martin-Lagardette
> 
> 
> 
> On Nov 16, 2010, at 23:10, Matt Aimonetti wrote:
> 
>> 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_sk...@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
>> 
>> 
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

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

Reply via email to