On 3/21/06, Jonathan Paisley <firstname.lastname@example.org> wrote:
I cc-ed this reply back to the list. I hope that's okay.
> I should have said that it would not build (instead of not
> compile). I tried both ways to call compositeToPoint that you
> suggested and they both failed to build. Here is the error:
I think the project has built successfully. What you're seeing is a
run time error (which shows up in the Run Log window in XCode).
> ../MapView.rb:31:in `NSApplicationMain': NSApplicationMain -
> RBException_NoMethodError - undefined method `compositeToPoint' for
> nil:NilClass (OSX::OCException)
> ../MapView.rb:32:in `NSApplicationMain': NSApplicationMain -
> RBException_NoMethodError - undefined method
> `compositeToPoint_operation' for nil:NilClass (OSX::OCException)
> Does this mean that @mapbase is not getting initialized in
> initWithFrame? I'm just not familiar enough with Cocoa to debug this.
Precisely. Add some 'puts' to your initWithFrame method to ensure it
gets called. I suspect that the image you're asking for:
@mapbase = NSImage.imageNamed("map_blank")
cannot be found. The method returns nil on failure.
Check that your image has been copied to the built application's
Resources directory. You should have a directory called 'build' next
to the Xcode project. In there should be either be YourProject.app,
or it'll be inside a directory called 'Development' or 'Deployment',
depending on your current build settings.
Navigate inside the application bundle (the *.app directory) at the
terminal or in the Finder by control-clicking and choosing 'Show