我用的是DELPHI EX 编译的//源码
function TCustomWinSocket.GetLocalHost: string;
var
  LocalName: array[0..255] of Char;  
begin
  Lock;
  try
    Result := '';
    if FSocket = INVALID_SOCKET then Exit;
    if gethostname((LocalName), SizeOf(LocalName)) = 0 then
      Result := LocalName;
  finally
    Unlock;
  end;
end;出现了如下的问题
[DCC Error] pskdjf.pas(814): E2010 Incompatible types: 'PAnsiChar' and 'array[0..255] of Char'我找了一些 贴子都没有指出具体的修改方法,大家有知道的告诉一下,谢谢

解决方案 »

  1.   

    )调用API函数gethostname出错:[DCC Error] uVIMPublicFun.pas(449): E2010 Incompatible types: 'Array' and 'PAnsiChar'
           var 
               hostName : array [0..255] of char; 
           begin 
               gethostname(hostName, sizeof (hostName)); 
           end;        
           产生原因:D2009的Char为宽字符WideChar,而gethostname第一个参数是PAnsiChar。 
           解决方法:将hostName的声明改成array [0..255] of AnsiChar;即可。
      

  2.   

     gethostname(@hostName[0], sizeof (hostName));