delphi2010中使用pchar时E2010 Incompatible types: 'Char' and 'AnsiChar' 错误的处理

在网上搜了一个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完全没难度。

posted @ 2013-01-06 11:41  马儿快跑  阅读(4060)  评论(0编辑  收藏  举报