function TServerForm.NameToIP(): String;
type
pu_long = ^u_long;
var
varTWSAData : TWSAData;
varPHostEnt : PHostEnt;
varTInAddr : TInAddr;
namebuf : Array[0..255] of Ansichar;
fd : integer;
rc : integer;
begin
result := '';
rc := WSAStartup($101,varTWSAData);
if rc <> 0 then
// raise ESockUtilErr.CreateFmt( 'WSA Startup error: %d',[rc] )
else
begin
gethostname(namebuf,sizeof(namebuf));
varPHostEnt := gethostbyname(namebuf);
varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
result := inet_ntoa(varTInAddr);
end;
fd := WinSock.Socket( PF_INET, SOCK_STREAM, 0 );
if fd = INVALID_SOCKET then
// raise ESockUtilErr.CreateFmt( '%d %d: Invalid socket',[fd,WSAGetLastError] );
WSACleanup;
end;