Delphi Can

Orjinalini görmek için tıklayınız: Ping Gönderme İşlemi
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sa Arkadaşlar Windows uygulamalarda IdIcmpClient1 componenti ile rahatlıkla ping atabilirken firemonkey uygulamalarda bu component hata veriyor.
Siz ping atmak için ne kullanıyorsunuz?
(03-08-2018, Saat: 09:28)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]Sa Arkadaşlar Windows uygulamalarda IdIcmpClient1 componenti ile rahatlıkla ping atabilirken firemonkey uygulamalarda bu component hata veriyor.
Siz ping atmak için ne kullanıyorsunuz?

Amaç SQL'e ping atmak ise connectiontimeout verilip connection kurmaya çalışılabilir. Except'te olay yakalanır.
uses IdTCPConnection, IdTCPClient;

function CanConnect(const aHost: string; const aPort: Integer): Boolean;
var
 tcp: TIdTCPClient;
begin
 tcp := TIdTCPClient.Create(nil);
 try
   tcp.Host := aHost;
   tcp.Port := aPort;
   tcp.ConnectTimeout := 1750;
   tcp.Connect;
   Result := True;
   tcp.Disconnect;
 except
   on E: Exception do
   begin
     Result := False;
   end;
 end;
end;



procedure Tmain.Timer1Timer(Sender: TObject);
begin
if CanConnect('10.71.0.94', 8443) then
 begin
 TwwPlatformServices.HideWaitDialog;
 end
 else
 TwwPlatformServices.ShowWaitDialog('Bağlantınız Yenileniyor...');
end;

Bu şekilde çözdüm.
Çözümü paylaşmanız taktire şayan.

Başarılar.
(07-08-2018, Saat: 22:42)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]
uses IdTCPConnection, IdTCPClient;

function CanConnect(const aHost: string; const aPort: Integer): Boolean;
var
 tcp: TIdTCPClient;
begin
 tcp := TIdTCPClient.Create(nil);
 try
   tcp.Host := aHost;
   tcp.Port := aPort;
   tcp.ConnectTimeout := 1750;
   tcp.Connect;
   Result := True;
   tcp.Disconnect;
 except
   on E: Exception do
   begin
     Result := False;
   end;
 end;
end;



procedure Tmain.Timer1Timer(Sender: TObject);
begin
if CanConnect('10.71.0.94', 8443) then
 begin
 TwwPlatformServices.HideWaitDialog;
 end
 else
 TwwPlatformServices.ShowWaitDialog('Bağlantınız Yenileniyor...');
end;

Bu şekilde çözdüm.

Paylaşımınız için çok teşekkürler.
Eyvallah ustalar kolay gelsin.