[MacRuby-devel] Frameworks Help

Mario Steele mario at ruby-im.net
Tue Oct 19 22:12:05 PDT 2010


Hello Shaun,

On Wed, Oct 20, 2010 at 12:00 AM, Shaun August <shaun at eoslightmedia.com>wrote:

> Hi Robert,
>
> Thanks! That make sense. All those cocoa classes have capitals and they
> work fine. I seem to be able to call from the framework but I am running
> into an undefined method 'extern'. I have also read somewhere that extern
> doesn't work with MacRuby. Is that correct? The framework I am dealing with
> is calling C functions and I am having trouble accessing them.
>

extern is a macro for the ld library, to export an API Address in the
Dynamic library, that can be access dynamically at run time.  With
Objective-C, or more so specifically with MacRuby, you need to write a sort
of thin wrapper around C Functions in Objective C, in order to access said
Functions.  So if the framework that you are working with, doesn't expose
Objective C API Functions, you'll need to write a thin wrapper in order to
access them.  See the tutorial done by Nick Ludlam about wrapping the TagLib
C Library, in Objective C.  You can find it here:
http://www.macruby.org/documentation/reading-an-mp3-with-macruby.html  It's
best to read through the entire article, as it gives you information about
wrapping C Functions in Objective C, which is quite useful, when writing
your own wrapper.

hth,

Mario


> Thanks,
>
> Shaun
>
>
> On 2010-10-19, at 8:26 PM, Robert Rice wrote:
>
> > Hi Shaun:
> >
> > Lower case method names is only a convention. MacRuby will work fine
> using upper case, i.e., constant, method names.
> > I know because I only recently changed my project to conform to the
> convention.
> >
> > Bob Rice
> >
> >
> > On Oct 19, 2010, at 7:17 PM, Shaun August wrote:
> >
> >> Hi There,
> >>
> >> I am attempting to work with a framework provided by a USB device
> manufacturer and all of their method names start with capitols and I am
> wondering about the easiest way to access these methods through macruby. I
> remember reading somewhere about fixing the constants in Obj-C but I cannot
> locate the information.
> >>
> >> Does anyone have any suggestions as to how to remedy this? Should I
> rename every command in the framework?
> >>
> >> Thanks,
> >>
> >> Shaun
> >>
> >> _______________________________________________
> >> MacRuby-devel mailing list
> >> MacRuby-devel at lists.macosforge.org
> >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> >>
> >
> > _______________________________________________
> > MacRuby-devel mailing list
> > MacRuby-devel at lists.macosforge.org
> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>



-- 
Mario Steele
Lieutenant Commander 3
XO - Geo 99
XO - STO IFT Fleet
http://www.trekfederation.com
http://geo99.ruby-im.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20101020/48440f2a/attachment.html>


More information about the MacRuby-devel mailing list