ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Ping com Delphi

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
RafaelBozo
Novato
Novato


Registrado: Segunda-Feira, 28 de Julho de 2014
Mensagens: 17

MensagemEnviada: Qui Out 09, 2014 3:49 pm    Assunto: Ping com Delphi Responder com Citação

Olá, estou tentando utilizar o IdIcmpClient1 ele funciona perfeitamente no windows 32bits, eu preciso que ele funcione em 64Bits.


ai está o código fonte:

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient,
StdCtrls;

type
TForm2 = class(TForm)
Edit1: TEdit;
Button1: TButton;
IdIcmpClient1: TIdIcmpClient;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);

private
// Function Ping(HostName: String): boolean;
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

Function Ping(HostName: String): boolean;
var
i, Soma, BytesRecebidos : Integer;
PckEntregue : Array[1..3] of Integer;
ICMP : TIdIcmpClient;
begin
try
ICMP := TIdIcmpClient.Create(nil);
try
ICMP.Host := HostName;
ICMP.ReceiveTimeout := 500;
ICMP.Ping;
BytesRecebidos := ICMP.ReplyStatus.MsRoundTripTime;
if ICMP.ReplyStatus.BytesReceived > 0 then
begin
result := true;
form2.edit2.text := intToStr(BytesRecebidos)+' MLS';
end
else
result := false;
form2.edit2.text := intToStr(BytesRecebidos)+' MLS';
except
result := false;
form2.edit2.text := 'Falha no recebimento dos pacotes';
end;

finally
ICMP.Destroy;
end;

end;


procedure TForm2.Button1Click(Sender: TObject);
begin
if Ping(Edit1.Text)=true then
ShowMessage('Vivo')
else
ShowMessage('Morto');
end;

end.


Quando rodo ele ele sempre me retorna falso no 64bits. e no 32bits eele funciona perfeitamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Dom Out 12, 2014 7:51 am    Assunto: Responder com Citação

Amigo aqui funcionou.
Vc reparou que vc comentou sua função:
private
// Function Ping(HostName: String): boolean;
{ Private declarations }

Att,
Anderson.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RafaelBozo
Novato
Novato


Registrado: Segunda-Feira, 28 de Julho de 2014
Mensagens: 17

MensagemEnviada: Seg Out 13, 2014 1:54 pm    Assunto: Responder com Citação

Quando eu "descomento" este item ele da um erro...


E2065: Unsatisfied forward or external declaration: 'form2.Ping'

ai eu coloco form2.ping e da o mesmo erro e aparece só 'Form2"
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Seg Out 13, 2014 2:05 pm    Assunto: Responder com Citação

Qual versão do Delphi você usa no 32? e no 64?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marcieldeg
Colaborador
Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011
Mensagens: 1054
Localização: Vitória - ES

MensagemEnviada: Seg Out 13, 2014 2:34 pm    Assunto: Responder com Citação

No bloco implementation:

Function TForm2.Ping(HostName: String): boolean;
var
...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RafaelBozo
Novato
Novato


Registrado: Segunda-Feira, 28 de Julho de 2014
Mensagens: 17

MensagemEnviada: Ter Out 14, 2014 3:37 pm    Assunto: Responder com Citação

no 32 e no 64 eu rodo o Delphi 2010 do mesmo instalador amigo!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RafaelBozo
Novato
Novato


Registrado: Segunda-Feira, 28 de Julho de 2014
Mensagens: 17

MensagemEnviada: Ter Out 14, 2014 3:38 pm    Assunto: Responder com Citação

Farei o Teste marcielodg e depois volto aqui para avisar se deu certo!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Qua Out 15, 2014 2:08 am    Assunto: Responder com Citação

RafaelBozo escreveu:
no 32 e no 64 eu rodo o Delphi 2010 do mesmo instalador amigo!


Rapaz eu tbm tenho essa mesma configuração sua e aqui funciona.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RafaelBozo
Novato
Novato


Registrado: Segunda-Feira, 28 de Julho de 2014
Mensagens: 17

MensagemEnviada: Sex Out 17, 2014 3:32 pm    Assunto: Responder com Citação

Funcionou certinho cara! Muito obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB