[squeak-dev] problema con FFI: "could not coerce arguments"

Mariano Martinez Peck marianopeck at gmail.com
Mon May 26 04:49:07 UTC 2008


Tuve que mapear con openDBX las funciones odbx_set_argument y la
odbx_get_argument.

Estoy probando la set, y me tira ese error de FFi. Creo que es un quilombo
con el void pues es la primer función que mapeamos con ello.

La función de openDBX es así:

int *odbx_set_option*(
    odbx_t* *handle*,
    unsigned int *option*,
    void* *value* )


Acá hay un ejemplo en C de cómo se usa:

option = ODBX_TLS_ALWAYS;
if( ( err = odbx_set_option( handle, ODBX_OPT_TLS, (void*) &option ) ) < 0 )
{
    fprintf( stderr, "odbx_set_option(): %s\n", odbx_error( handle, err ) );
    odbx_finish( handle );
    return err;
}


Así es el método apiSetOption de la clase OpenDBX

apiSetOption: handle option: anOption value: aValue
    "int odbx_unbind(odbx_t*)"
    <cdecl: long 'odbx_set_option' (ulong ulong void*) module: 'opendbx' >
    ^self externalCallFailed


Probé poner void*, void, ulong y ulong* pero en todos los casos me tiró el
mismo error.

Así se usa éste método en la clase DBXConnection:

err := OpenDBX apiSetOption: self option:32  value:1.

No lo subí porque no anda (y además porque squeaksource está caído), pero si
no lo subo no se si me van a poder ayudar....¿quieren que igualmente lo
suba? ¿alguna idea o pregunto en squeak-dev?

saludos,

mariano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080526/e4a70a43/attachment.htm


More information about the Squeak-dev mailing list