On 01 Mar 2009, at 03:12, Diego Antonio Lucena Pumar wrote:

function Accept(

Sock: LongInt;

var Addr;

var Addrlen: LongInt

):LongInt;

For my program I need use this interface, and not the modern versions.

Really, I can't compile the program. The error is provacated by the parameter (var Addr;). In the documentation y can read about this type of argument and indicated that is trated of Variable parameters. I read more and opine that this argument need a reference to a structure INADDR. But a call the function this:

Saux := Accept(S1, @Addr, sizeof(Addr));


In Pascal, "var" parameters implicitly take the address of the argument you pass. So if you pass @Addr, the compiler will try to take the address of "@Addr", which does not make sense (you cannot take the address of an address). So instead, just pass Addr.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to