| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
RafaelBozo Novato

Registrado: Segunda-Feira, 28 de Julho de 2014 Mensagens: 17
|
Enviada: Qui Out 09, 2014 3:49 pm Assunto: Ping com Delphi |
|
|
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 |
|
 |
anderbelluno Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011 Mensagens: 1030 Localização: Cianorte-PR
|
Enviada: Dom Out 12, 2014 7:51 am Assunto: |
|
|
Amigo aqui funcionou.
Vc reparou que vc comentou sua função:
private
// Function Ping(HostName: String): boolean;
{ Private declarations }
Att,
Anderson. |
|
| Voltar ao Topo |
|
 |
RafaelBozo Novato

Registrado: Segunda-Feira, 28 de Julho de 2014 Mensagens: 17
|
Enviada: Seg Out 13, 2014 1:54 pm Assunto: |
|
|
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 |
|
 |
anderbelluno Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011 Mensagens: 1030 Localização: Cianorte-PR
|
Enviada: Seg Out 13, 2014 2:05 pm Assunto: |
|
|
| Qual versão do Delphi você usa no 32? e no 64? |
|
| Voltar ao Topo |
|
 |
marcieldeg Colaborador


Registrado: Terça-Feira, 5 de Abril de 2011 Mensagens: 1054 Localização: Vitória - ES
|
Enviada: Seg Out 13, 2014 2:34 pm Assunto: |
|
|
No bloco implementation:
Function TForm2.Ping(HostName: String): boolean;
var
... |
|
| Voltar ao Topo |
|
 |
RafaelBozo Novato

Registrado: Segunda-Feira, 28 de Julho de 2014 Mensagens: 17
|
Enviada: Ter Out 14, 2014 3:37 pm Assunto: |
|
|
| no 32 e no 64 eu rodo o Delphi 2010 do mesmo instalador amigo! |
|
| Voltar ao Topo |
|
 |
RafaelBozo Novato

Registrado: Segunda-Feira, 28 de Julho de 2014 Mensagens: 17
|
Enviada: Ter Out 14, 2014 3:38 pm Assunto: |
|
|
| Farei o Teste marcielodg e depois volto aqui para avisar se deu certo! |
|
| Voltar ao Topo |
|
 |
anderbelluno Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011 Mensagens: 1030 Localização: Cianorte-PR
|
Enviada: Qua Out 15, 2014 2:08 am Assunto: |
|
|
| 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 |
|
 |
RafaelBozo Novato

Registrado: Segunda-Feira, 28 de Julho de 2014 Mensagens: 17
|
Enviada: Sex Out 17, 2014 3:32 pm Assunto: |
|
|
| Funcionou certinho cara! Muito obrigado! |
|
| Voltar ao Topo |
|
 |
|