[fpc-devel] rtl/win/winsock2.pp

Sven Barth pascaldragon at googlemail.com
Wed Sep 19 09:49:43 CEST 2012


Am 15.09.2012 02:19, schrieb Martin:
> The unit contains 3 declarations (just picking one example, may be
> similar for other functions)
>
> function WSASocketA( af, iType, protocol : Longint; lpProtocolInfo :
> LPWSAProtocol_InfoA; g : GROUP; dwFlags : DWORD ): TSocket; stdcall;
> external WINSOCK2_DLL name 'WSASocketA';
> function WSASocketW( af, iType, protocol : Longint; lpProtocolInfo :
> LPWSAProtocol_InfoW; g : GROUP; dwFlags : DWORD ): TSocket; stdcall;
> external WINSOCK2_DLL name 'WSASocketW';
> function WSASocket( af, iType, protocol : Longint; lpProtocolInfo :
> LPWSAProtocol_Info; g : GROUP; dwFlags : DWORD ): TSocket; stdcall;
> external WINSOCK2_DLL name 'WSASocket';
>
> Does the last one work. It gives an error on my vista 32 bit ("dll entry
> point not found")
>
> My understanding is that windows offers the A and W versions, and the
> none-postfix version is just an in application alias to one of them?
> Or is there a win version, where the dll actually exports 'WSASocket' ?
> (And if so, shouldn't it be IFDEF and mapped to A or W for other win
> versions?

Sorry for the late answer...

It does indeed look like an error as Dependency Walker only reports the 
WSASocketA and WSASocketW exports. You should file a bug report to 
correct all imports in that unit in the same way as the Windows unit works.

Regards,
Sven




More information about the fpc-devel mailing list