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

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to