在网上搜了一个ping函数,用到pchar(string),编译时出现这个错误,其实以前也碰到这个问题: delphi7版本中的Pcharh函数在delphi2010中使用时,编译时出现错误 :E2010 Incompatible types: 'Char' and 'AnsiChar' 这时可以这样使用: PAnsiChar(AnsiString(string)); 说明: 在 delpin中之前,Char对应的是AnsiChar,PChar对应PAnsiChar,string(未映射成老的ShortString)对应 AnsiString;而在delphi2010里,对应的是WideChar,PChar对应PWideChar,string对应 UnicodeString UnicodeString是delphi2010中出现的新字符串类型,之前没有对应版本;delphi2010 中的AnsiString也和之前版本的AnsiString类型有差别(多了两个word,一个表示code page,另一个表示element size),但基本上可以一样用,它与UnicodeString使同相同的管理。如果在delphi2010之前用过tntware套件的话,从没有引 用计数的WideString过渡到delphi2010的UnicodeString完全没难度。 |
|