Actually the problem was I had forgotten to put the right number of arguments 
in the Smalltalk method … Too bad …

Le 10 juil. 2014 à 11:54, Esteban Lorenzano <esteba...@gmail.com> a écrit :

> 
> On 10 Jul 2014, at 02:32, Andres Valloud <avall...@smalltalk.comcastbiz.net> 
> wrote:
> 
>> On 64 bit Windows a long is 32 bits and pointers are 64 bits, so that type 
>> of replacement is not going to work in the long run…
> 
> Of course, but let’s take care about that problem when actually become a 
> problem :)
> Hopefully, for when we finally have a 64bits with FFI, we will have a proper 
> ** interpretation, but the workaround is the fastest solution you can have 
> for now. 
> 
> Esteban
> 
>> 
>> On 7/9/14 8:20 , Esteban Lorenzano wrote:
>>> yes, FFI does not handle ** arguments.
>>> I always replace it by ulong instead (it is the same, after all)
>>> 
>>> Esteban
>>> 
>>> On 09 Jul 2014, at 17:17, Clément Bera <bera.clem...@gmail.com
>>> <mailto:bera.clem...@gmail.com>> wrote:
>>> 
>>>> Hello,
>>>> 
>>>> This bug happen both with the old and new compiler.
>>>> 
>>>> The error tells you that the number of arguments of your smalltalk
>>>> method does not match the number of argument of the C method you want
>>>> to call (but it seemsthe number of arguments is correct).
>>>> 
>>>> This works fine:
>>>> 
>>>> <apicall: int 'gst_init_check' (int char* int) module:
>>>> 'libgstreamer1.0-0.so <http://libgstreamer1.0-0.so/>'>
>>>> ^self externalCallFailed
>>>> 
>>>> This works fine too:
>>>> 
>>>> <apicall: int 'gst_init_check' (int* char* int*) module:
>>>> 'libgstreamer1.0-0.so <http://libgstreamer1.0-0.so/>'>
>>>> ^self externalCallFailed
>>>> 
>>>> So it seems the bug comes from the parser missparsing ** . I am not
>>>> familiar with C enough to help, I don't know what means ** (Is it a
>>>> pointer pointing to a pointer pointing to the actual data ?).
>>>> 
>>>> Perhaps someone who knows how to use FFI can give a better answer.
>>>> 
>>>> Esteban ? Guille ?
>>>> 
>>>> 
>>>> 2014-07-09 16:39 GMT+02:00 Annick Fron <i...@afceurope.com
>>>> <mailto:i...@afceurope.com>>:
>>>> 
>>>> 
>>>>         Hi,
>>>> 
>>>> 
>>>> 
>>>>         I am trying to use FFI on linux with pharo 3 using version
>>>>         31 of FFI.
>>>> 
>>>>   I have written the following method :
>>>> 
>>>> 
>>>>          <apicall: int 'gst_init_check' (int* char** int*) module:
>>>>         'libgstreamer1.0-0.so <http://libgstreamer1.0-0.so/>'>
>>>> 
>>>>   ^self externalCallFailed
>>>> 
>>>> 
>>>>   ====
>>>> 
>>>>   but when accepting it I get a syntax error « matching number of
>>>>   arguments »
>>>>   Annick Fron
>>>> 
>>>> 
>>> 
>> 
> 
> 


Reply via email to