Hey,

Thanks for the response. It has helped, but I am still confused a bit by you 
stating that none of the types are supported but that I can still dereference a 
pointer. 

I have now been able to dereference some pointers, but not pointers to 
pointers. Is that what you meant?

In these cases I guess I will have to create an objective-c wrapper. I found an 
entry on the MacRuby site about creating bundles which I think is a good 
solution. 

Thanks for the pointers,
     Mark

Sent from my iDevice

On 2010-10-24, at 3:06, Matt Aimonetti <mattaimone...@gmail.com> wrote:

> You can set pointers using:
> 
> Pointer.new_with_type and using one of the following types: 
> http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html#//apple_ref/doc/uid/TP40008048-CH100-SW1
> Note, that not none of the types are supported.
> 
> Here is some more information: 
> http://jonathan.waddilove.net/macruby_pointers.html
> 
> To dereference a pointer, simply get its value:
> 
> pointer = Pointer.new_with_type("f")
> pointer.assign(3.2)
> pointer's value = pointer[0]
> 
> I'll soon update my book draft with a section on pointers.
> 
> - Matt
> 
> 
> On Sat, Oct 23, 2010 at 10:04 PM, Mark Rada <mr...@marketcircle.com> wrote:
> Hi,
> 
> I've been trying to play with using the Accessibility API to do some 
> automated testing.
> 
> >From what I have researched, I have to use some C functions that often need 
> >a reference passed to the them.
> 
> I am at a loss when trying to deal with Pointer objects. I've tried playing 
> with them and googling it, but I just cannot figure out how to turn a pointer 
> into a more useful type or to get what I want out of them.
> 
> For example, I can start like this:
> 
>        framework 'Cocoa'
> 
>        unless AXAPIEnabled() # only works if I include the parenthesis
>                puts 'Please enable Access for Assistive Devices first'
>                exit 2
>        end
> 
>        mail              = 
> NSRunningApplication.runningApplicationsWithBundleIdentifier('com.apple.Mail').first
>        mail_object = AXUIElementCreateApplication mail.processIdentifier
> 
>        names = Pointer.new :object
> 
>        AXUIElementCopyAttributeNames mail_object, names
> 
> 
> But then how do I get the values out of the names pointer? For reference, I 
> found the functions in AXUIElement.h.
> 
> 
> Thanks,
>        Mark
> _______________________________________________
> 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