<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><p><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span></span></span></span></span></p>
<p><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span>2)<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
</span></span></span><span lang="EN-US">To
finalize objects the OpenCV library defines some functions such as cvReleaseImage,
cvReleaseMat, etc. As far as I can tell, these functions receive a pointer-to-pointer
as argument. How can I declare such a method in Squeak? Having one object, how
can I get the pointer to that object? Should I use the #getHandle method?<span lang="EN-US"><span></span></span></span></span></span></p></blockquote><div><br>In OpenDBX we have a functions like this for example:<br><br>
long odbx_init(odbx_t**, char*, char*, char*)<br> <br>This is how I declare it:<br><br>apiInitialize: handle backend: backend host: host port: port<br> <cdecl: long 'odbx_init' (ulong* char* char* char*) module: 'opendbx'><br>
^self externalCallFailed<br><br>Remember a pinter to a pointer is a long :)<br><br>And then in the code I do something like this:<br><br>handleArray := WordArray with: 0.<br> err := OpenDBX current<br> apiInitialize: handleArray<br>
backend: self backend<br> host: aConnection settings host<br> port: aConnection settings port.<br><br>Notice the WordArray.<br><br>I have no idea of 1) and 3) sorry.<br><br>I hope this helps. If this do help, perhaps we can put it in FFI wiki page. <br>
<br>Cheers,<br><br>Mariano<br></div></div>