It's almost stupid this generated so much talk considering how trivial it is. Below is the Pascal code explaining.

// We pass dragTypes directly because it's interchangeable and using it with Objective-C runtime will not cause errors.

dragTypes := CFArrayCreate(nil, nil, 0, @kCFTypeArrayCallBacks);
view.registerForDraggedTypes(dragTypes);

// We must use the "Handle" which is the Objective-C object because dragTypes is a NSArray wrapper and passing a Pascal object to Objective-C runtime WILL cause errors

dragTypes := NSArray.array_;
view.registerForDraggedTypes(dragTypes.Handle);

I just didn't want users to type .Handle and let that choice be made a runtime behind the scenes. Was that worth everyones time? ;)

On Apr 3, 2009, at 10:26 AM, Chris Hanson wrote:

On Apr 2, 2009, at 7:38 PM, Ryan Joseph wrote:

I think I need explain what exactly I need this for. I'm making a Pascal bridge to Cocoa and it would be convenient if I could pass a CF type or a Pascal wrapper indiscriminately and decide at runtime how they should handled.

It's still not clear why you'd need or want this.

Bridges to Objective-C should be driven from Leopard's BridgeSupport infrastructure, which supplies all of the class/method information you should need for mechanically transforming whatever your language's messaging infrastructure is into what the Objective-C runtime expects.

Once you have a basic mechanical bridge in place, then you can start doing idiomatic things like bridging native types between your environment and Cocoa. The Ruby & Python bridges do this with strings and collections, for example.

I don't think a language bridge is the place to handle CF/Cocoa collection equivalence.

 -- Chris


Regards,
        Josef

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to