GetIP('server-name')
またはGetIP('google.com')
Delphi 2006を使用している場合、IP アドレスを取得するこの関数があります。
しかし、今試してみると、うまくいきDelphi-XE3
ません。何か案は?
function GetIP(const HostName: string): string;
var
WSAData: TWSAData;
R: PHostEnt;
A: TInAddr;
begin
Result := IPNULL; // '0.0.0.0'
WSAStartup($101, WSAData);
R := Winsock.GetHostByName(PAnsiChar(HostName));
if Assigned(R) then
begin
A := PInAddr(r^.h_Addr_List^)^;
Result := string(WinSock.inet_ntoa(A));
end;
end;
結果R
が常に'0.0.0.0'