[squeak-dev] problema con FFI: "could not coerce arguments"
Giuseppe Luigi Punzi
glpunzi at lordzealon.com
Mon May 26 07:09:57 UTC 2008
Mariano, ya estás preguntando en Squeak-Dev directamente, donde has enviado este correo :P
On Mon, 26 May 2008 01:49:07 -0300
"Mariano Martinez Peck" <marianopeck at gmail.com> wrote:
> 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
>
--
Giuseppe Luigi Punzi <glpunzi at lordzealon.com>
<http://www.lordzealon.com>
More information about the Squeak-dev
mailing list
|