我从Delphi Magazine加载了一些旧代码,并在Delphi 2010中进行编译时,得到了E2010不兼容的类型:“ AnsiChar”和“ Char”。

如何解决此错误?

pAddr:= inet_ntoa(AddrIn.sin_addr);

pAddr定义为PChar
inet_ntoa是一个返回PAnsiChar的函数

最佳答案

使用AnsiString和String安全地执行必要的强制转换。

MyAnsiString := AnsiString(inet_ntoa(AddrIn.sin_addr));
MyString := String(MyAnsiString);
pAddr := PChar(MyString);

10-04 18:41