Wie konvertieren von PAnsichar zu PWidechar?

Ich die Umsetzung Ping-Funktion mithilfe der windows-API in delphi-xe3 von hier
(http://delphi.about.com/od/internetintranet/l/aa081503a.htm).

Ich habe ein problem mit der folgenden Funktion.Es zeigt Fehlermeldung inkompatible Typ Pansichar und Pwidechar.Ich ersetzte Pchar mit PAnsichar jetzt zeigt Ausnahme
'Fehler beim abrufen der IP vom HostName'.

Teste ich es mit "localhost".

Bitte guide was ist die richtige Konvertierung.

const ADP_IP = '127.0.0.1';

procedure TranslateStringToTInAddr(AIP: string; var AInAddr);
var
  phe: PHostEnt;
  pac: PChar;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  try
    phe := GetHostByName(PChar(AIP));
    if Assigned(phe) then
    begin
      pac := phe^.h_addr_list^;
      if Assigned(pac) then
      begin
        with TIPAddr(AInAddr).S_un_b do begin
          s_b1 := Byte(pac[0]);
          s_b2 := Byte(pac[1]);
          s_b3 := Byte(pac[2]);
          s_b4 := Byte(pac[3]);
        end;
      end
      else
      begin
        raise Exception.Create('Error getting IP from HostName');
      end;
    end
    else
    begin
      raise Exception.Create('Error getting HostName');
    end;
  except
    FillChar(AInAddr, SizeOf(AInAddr), #0);
  end;
  WSACleanup;
end;
InformationsquelleAutor Xenon Xe | 2013-09-12
Schreibe einen Kommentar