Wenn inet_addr einen PAnsiChar haben will, dann mußt du ihm das auch geben.
AnsiString + PAnsiChar
Bei
direkter Übergabe von Konstanten ala '127.0.0.1' nimmt Delphi automatisch eine Konvertierung vor, also bei PWideChar wird der String als
Unicode übergeben und bei PAnsiChar als
ANSI.
Man kann maximal noch nachsehen, ob inet_addr immer nur PAnsiChar haben will, oder ob es davon auch eine
Unicode-Version gibt ... Genaueres immer siehe Definition im
MSDN.
PS: Du hast in der Enterprise absichtlich die Quellcodes dabei, somit kann man also immer nachsehn, was die Funktion wirklich haben will,
denn im Code-Insight kann man nicht zwischen PChar und PWideChar (seit Delphi 2009) oder PChar und PAnsiChar (bis Delphi 2007) unterscheiden.
PChar ist ein compilerabhängiger
Typ Alias für PWideChar oder PAnsiChar.
Und bei alten oder schrottigen aktuellen Codes muß man immer beachten, daß viele Programmierer nicht auf den korrekten Typen achten und z.B. PChar benutzt haben, obwohl es eigentlich explizit PAnsiChar hätte sein sollen, was dann seit D2009 probleme bereitet.