On Sun, 24 May 2020 at 02:01, Sean P. DeNigris <s...@clipperadams.com> wrote:
> Esteban Lorenzano wrote > > The easiest way I have to explain is: > > > > You use an OpaqueObject when you will refer to the opaque type in calls > > as: someFunction(opaqueobject *someArg). > > You use an ExternalObject when you will refer to the opaque type in calls > > as: someFunction(externalobject someArg). > > Very clear! We're getting somewhere :) But... > > What if a type is used both ways? > > For example: > ^ self ffiCall: #(Method * class_copyMethodList(Class self, uint > *outCount)) > and > ^ self ffiCall: #(struct objc_method_description * > method_getDescription(Method self)) > In advance of Esteban's answer I'd like to understand better your situation above. Passing a method to a function seems like setting up a call-back? Do you have a concrete C example that can be viewed in its full context? cheers -ben