[Openmcl-devel] Sending Variable-Arity Cocoa Messages
beer at eecs.cwru.edu
Sun Apr 17 14:37:53 PDT 2005
I checked a fix for this into the bleeding edge CVS branch. There was
a problem with the way some variable arity message sends were being
parsed. Now something like the following works:
? (send (find-class 'ns:ns-array) :array-with-objects (:id #@"Hello"
:id #@"There" :id (%null-ptr)))
#<NS-CF-ARRAY (Hello, There) (#x85414550)>
If you want to try this in your current OpenMCL version, just copy the
new definitions of %PARSE-MESSAGE and CHECK-MESSAGE-ARG-COUNT from the
bleeding edge ccl/examples/bridge.lisp to your local copy.
On Mar 2, 2005, at 1:24 PM, markus64 at gmx.ch wrote:
> Hi. I'm trying to send variable-arity Cocoa messages using OpenMCL
> 0.14.2-p1 on OS X, but I just don't seem to succeed. I did read
> section 10.3.3 of the manual, and the stringWithFormat example does
> work, but I can't seem to get anything else to work :-)
> How would I, for example, create a NSArray using +arrayWithObjects?
> (ccl::send (find-class 'ns:ns-array) :objects (:double-float foo
> :double-float bar)) gives me "Undefined function :DOUBLE-FLOAT"
> errors. Using (DEFINE-VARIABLE-ARITY-MESSAGE "arrayWithObjects:")
> didn't help either (same error), although I would think that shouldn't
> be necessary anyway, since the manual claims that "The standard
> variable arity messages in Cocoa are predeclared by the bridge".
> I have the same problem when trying to send other variable-arity
> messages from OpenMCL, e.g. NSDictionary's
> +dictionaryWithObjectsAndKeys. How am I supposed to do this?
> Any help is appreciated,
> Regards, Markus
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel