这个域名转IP的在D7可以,在D2010不行,要怎么改(50)

W

wlyft

Unregistered / Unconfirmed
GUEST, unregistred user!
function HostToIP(Name: string; var Ip: string): Boolean;var wsdata : TWSAData; hostName : array [0..255] of char; hostEnt : PHostEnt; addr : PChar;begin WSAStartup ($0101, wsdata); try gethostname (hostName, sizeof (hostName)); StrPCopy(hostName, Name); hostEnt := gethostbyname (hostName); if Assigned (hostEnt) then if Assigned (hostEnt^.h_addr_list) then begin addr := hostEnt^.h_addr_list^; if Assigned (addr) then begin IP := Format ('%d.%d.%d.%d', [byte (addr [0]), byte (addr [1]), byte (addr [2]), byte (addr [3])]); Result := True; end else Result := False; end else Result := False else begin Result := False; end; finally WSACleanup; endend;错是hostName 这边 incompatible types:'array' and 'PAnsichar'
 
强制转换一下 PAnsichar(hostName)
 
hostName : array [0..255] of ansichar; hostEnt : PHostEnt; addr : PansiChar;改成这样就行了
 

Similar threads

顶部