Fórum pegar ip da maquina cliente #410955

26/12/2011

0

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

Responder

Posts

26/12/2011

João Sobrinho

Colega, tente o seguinte:

Gethostname(PAnsiChar(Name), 255);

PChar -> PAnsiChar
Responder

Gostei + 0

02/01/2012

Edson Melo

obrigado

Problema resolvido com a ajuda,

ate breve
Responder

Gostei + 0

02/01/2012

Edson Melo

obrigado

Problema resolvido com a ajuda,

ate breve
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar