pegar ip da maquina cliente

Delphi

26/12/2011

estou precisando mais urgente desta rotina abaixo funcionando, ela pega o ip da maquina ,
para poder registrar no sistema, em uma tabela do banco de dados no delphi 7 funciona que
e uma beleza , mas no 2010 não

function GetIP:string;
//--> Declare a Winsock na clausula uses da unit
var
WSAData: TWSAData;
HostEnt: PHostEnt;
Name:string;
begin
WSAStartup(2, WSAData);
SetLength(Name, 255);
Gethostname(PChar(Name), 255);
SetLength(Name, StrLen(PChar(Name)));
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
begin
Result := Format(%d.%d.%d.%d,
[Byte(h_addr^[0]),Byte(h_addr^[1]),
Byte(h_addr^[2]),Byte(h_addr^[3])]);
end;
WSACleanup;
end;

Linha que da o erro e esta

Gethostname(PChar(Name), 255);
se que o delphi 2010 mudou a forma da string mas não consigo
usar a nova formula ainda , sei que o erro refere-se a pchar

quantoo a outra que exporta a tabela pro excel depois eu envio

atenciosamente

edson garcia de melo
Edson Melo

Edson Melo

Curtidas 0

Respostas

João Sobrinho

João Sobrinho

26/12/2011

Colega, tente o seguinte:

Gethostname(PAnsiChar(Name), 255);

PChar -> PAnsiChar
GOSTEI 0
Edson Melo

Edson Melo

26/12/2011

obrigado

Problema resolvido com a ajuda,

ate breve
GOSTEI 0
Edson Melo

Edson Melo

26/12/2011

obrigado

Problema resolvido com a ajuda,

ate breve
GOSTEI 0
POSTAR