The "NSTimer.
scheduledTimerWithTimeInterval_target_selector_userInfo_repeats"syntax is the RubyCocoa syntax, you need to use the selector approach in MacRuby, very much like obj-C.

If you are on 0.5 beta or a recent nightly build, you should get a traceback, otherwise, you can still try to catch the exception and print out the error message and backtrace:

begin
  raise "this is a test"
rescue Exception => e
  raise "#{e.message} #{e.backtrace}"
end

- Matt



On Sun, Oct 11, 2009 at 11:45 AM, Robert Rice <rice.audio@pobox.com> wrote:
Thanks John::

I wasn't familiar with this new syntax. I was using the old syntax "NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats" but I see it doesn't work in MacRuby.

MarRuby is giving me error messages without a traceback. Is there a way to enable tracebacks?

Bob Rice

On Oct 11, 2009, at 12:58 PM, John Shea wrote:

Hi Bob,

(you are going to kick yourself) you have misplaced the colon between target and self  - there is a comma there, and the colon has been placed in front of "target", so the method is not being recognised. 

eg:
    @synchro_timer = NSTimer.scheduledTimerWithTimeInterval(TIME_INTERVAL, target:self, selector:"synchronise_with_server:", userInfo:nil, repeats:true)


as for threads - maybe someone else could chime in with a preference - but I do it the Cocoa way (eg http Connection delegates or timers) - but for data crunching using all cores I will use something like Laurent's barber shop code: http://www.macruby.org/blog/2009/10/07/macruby05b1.html.


J

On Oct 11, 2009, at 6:19 PM, Robert Rice wrote:

Congratulations MacRuby Development Team:

My application almost runs now in MacRuby.

Is NSTimer class supported in MacRuby?

I was doing background processing using NSTimer as follows:

@timer = NSTimer.scheduledTimerWithTimeInterval( 5.0, :target, self, :selector, :periodicUpdate, :userInfo, nil, :repeats, true )

but this now gives me the error:

undefined method `scheduledTimerWithTimeInterval' for NSTimer:Class (NoMethodError)

Do you have a preferred method for doing backgound tasks in MacRuby - perhaps separate threads?

Thanks,
Bob Rice

_______________________________________________
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