May 23, 2020
6 p.m.
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)) ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html