Pasar variable por referencia a una funcion en C

Pasar variable por referencia a una funcion en C

Postby softruz » Fri Jun 26, 2009 11:37 am

Muy buenas, tengo un problema necesito pasar una variable por referencia a una función en C, el ejemplo sería mas o menos así, pasar nLong por referencia a WSAStartup y que nLong lo modifico en la funcion en C y en FIVEWIN tenga el valor -2.

¿Como puedo hacerlo?

function main()
local nWsaError:=0,nLong:=-1
WSAStartup(@nLong)
msginfo(nLong) // DEBERIA DE MOSTRAR -2 pero no lo consigo

return


// FUNCION EN C

#ifdef __HARBOUR__
HARBOUR HB_FUN_WSASTARTUP( PARAMS )
#else
CLIPPER WSASTARTUP( PARAMS )
#endif
{
WSADATA wsa;
LONG nLong;
nLong = -2;
_retni( WSAStartup( MAKEWORD(2,0), &wsa ) );
}
softruz
 
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Re: Pasar variable por referencia a una funcion en C

Postby Daniel Garcia-Gil » Fri Jun 26, 2009 1:21 pm

Saludos Softruz

Intenta de esta forma

Code: Select all  Expand view

Function Main()

   local nWsaError:=0, nLong:=-1

   WSAStartup( @nLong )
   MsgInfo( nLong )
 
return



#ifdef __HARBOUR__
HARBOUR HB_FUN_WSASTARTUP( PARAMS )
#else
CLIPPER WSASTARTUP( PARAMS )
#endif
{
   WSADATA wsa;
   LONG nLong;
   nLong = -2;
   _stornl( nLong, 1 );
   _retni( WSAStartup( MAKEWORD(2,0), &wsa ) );
}
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Pasar variable por referencia a una funcion en C

Postby softruz » Fri Jun 26, 2009 3:58 pm

Gracias funciona así pero, ¿sabrías como hacer lo mismo con un HANDLE?


Un Saludo.
softruz
 
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Re: Pasar variable por referencia a una funcion en C

Postby Daniel Garcia-Gil » Fri Jun 26, 2009 5:48 pm

Saludos...


Teoricamente igual...

deberias pasar un segundo parametro

_stornl( nHandle, 2 ) // el 2 sigifica el segundo parametro que lo deberias pasar a la funcion
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: JoseAlvarez and 25 guests

cron