Erro ao Dar um Ping
Pessoal estavo usando o delphi 2010 e resolvi mudar para o Delphi XE4 e estou com um problema em uma função abaixo
no D2010 funciona certinho no XE4 m retornar o erro Socket Error 10040 message too long
alguem saberia m dizer oq pode ser isso...
function ExecutaPing(HostName: String): boolean; var PckEntregue : Array[1..3] of Integer; ICMP : TIdIcmpClient; begin try ICMP := TIdIcmpClient.Create(nil); try ICMP.Host := HostName; ICMP.ReceiveTimeout := 500; ICMP.Ping; if ICMP.ReplyStatus.BytesReceived > 0 then result := true else result := false; except result := false; end; finally ICMP.Destroy; end; end;
no D2010 funciona certinho no XE4 m retornar o erro Socket Error 10040 message too long
alguem saberia m dizer oq pode ser isso...
Laelson Fagundes
Curtidas 0
Respostas
Wilson Oliveira
27/08/2013
Ele usa a api do windows que precisa de permissão de aministrador.
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
GOSTEI 0
Wilson Oliveira
27/08/2013
Ele usa a api do windows que precisa de permissão de aministrador.
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
GOSTEI 0
Laelson Fagundes
27/08/2013
Meu PC não ter permissão de usuário, pois a mesma funciona com o Delphi 2010 perfeitamente mas quando fui migrar para o Delphi Xe4 ele retorna erro mencionado....
GOSTEI 0
Wilson Oliveira
27/08/2013
Qual versão do windows que você usa???
GOSTEI 0
Laelson Fagundes
27/08/2013
uso o windows 7 mas como eu disse isso não é problema de windows pois o delphi 2010 funciona perfeitamente..
GOSTEI 0
Wilson Oliveira
27/08/2013
Tenta o que te falei. Ja tive esse problema, de repente mudou o mecanismo do componente.
Vai no exe compilado e botão direito e executar como admin .
Se nao der tenta setar a propriedade packetsize para um valor menor.
Mas tenta executar como admin nao custa nada e elimina uma variável . Estava dando esse erro ara mim, Windows 7 Delphi xe3 , executando comi admin funcionou para mim
Vai no exe compilado e botão direito e executar como admin .
Se nao der tenta setar a propriedade packetsize para um valor menor.
Mas tenta executar como admin nao custa nada e elimina uma variável . Estava dando esse erro ara mim, Windows 7 Delphi xe3 , executando comi admin funcionou para mim
GOSTEI 0
Wilson Oliveira
27/08/2013
Tenta o que te falei. Ja tive esse problema, de repente mudou o mecanismo do componente.
Vai no exe compilado e botão direito e executar como admin .
Se nao der tenta setar a propriedade packetsize para um valor menor.
Mas tenta executar como admin nao custa nada e elimina uma variável . Estava dando esse erro ara mim, Windows 7 Delphi xe3 , executando comi admin funcionou para mim
Vai no exe compilado e botão direito e executar como admin .
Se nao der tenta setar a propriedade packetsize para um valor menor.
Mas tenta executar como admin nao custa nada e elimina uma variável . Estava dando esse erro ara mim, Windows 7 Delphi xe3 , executando comi admin funcionou para mim
GOSTEI 0
José
27/08/2013
Olá Tchuck, conseguiu solucionar seu problema ou teve algum avanço ?
GOSTEI 0
Laelson Fagundes
27/08/2013
No delphi EX4 eu não consegui o problema continuou, eu tive que voltar usar o 2010 que não ocorre o problema com o componente Indy pretendo fazer um teste no EX 5 para ver se vai ocorrer o erro.
Mas fiz uma gambiarrinha e por um periodo funcionou mas é muito relevante as vezes ele retorna o erro mas tem momentos q não so q no Delphi 2010 funciona 100% com a função acima:
para funcionar no EX 4 estava usando da seguinte forma:
Mas fiz uma gambiarrinha e por um periodo funcionou mas é muito relevante as vezes ele retorna o erro mas tem momentos q não so q no Delphi 2010 funciona 100% com a função acima:
para funcionar no EX 4 estava usando da seguinte forma:
function ExecutaPing(HostName: String): boolean; var PckEntregue : Array[1..3] of Integer; ICMP : TIdIcmpClient; ABuffer: String; begin try //Adicionado o Buffer para resolver o problema com o Delphi XE4 //ABuffer:=HostName+StringOfChar(' ',255); ICMP := TIdIcmpClient.Create(nil); try ICMP.PacketSize := 32; ICMP.Host := HostName; ICMP.ReceiveTimeout := 500; ICMP.Ping;//(ABuffer); if ICMP.ReplyStatus.BytesReceived > 0 then result := true else result := false; except result := false; end; finally ICMP.Destroy; end; end;
GOSTEI 0
Joel Realino
27/08/2013
Porra... CHUTA pra caralho.... DA proxima vez ve se chuta no gol parça.
Ele usa a api do windows que precisa de permissão de aministrador.
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
Compile o projeto e tente executar o executavel como administrador e veja se o problema persiste.
sds
arreegua
GOSTEI 0