Ver Mensaje Individual
  #1  
Antiguo 09-01-2018
acanogal acanogal is offline
Registrado
 
Registrado: may 2006
Posts: 3
Reputación: 0
acanogal Va por buen camino
Conocer si un programa está conectado en local o remoto

Hola a todos y Feliz 2018!!

Actualmente para saber si un programa se ejecuta en local o remoto usamos la siguiente función:
Código Delphi [-]
class function TSqlConfig.EstoyEnServidor: Boolean;
var
  vBaseDatos:TFDConnection;
  vConfig: TSqlConfig;
begin
  //Intento una conexion con la base de datos en modo local (localhost)
  vConfig := TSqlConfig.ReadIni;
  if Assigned(vConfig) then
    try
      try
        vBaseDatos:=TFDConnection.Create(nil);
        vBaseDatos.Params.Assign(TSqlConfig.ConnectionParams('localhost',vConfig.Port,vConfig.Path));
        Result := vBaseDatos.Ping;
      except
        On Exception do
          Result := false;
      end
    finally
      vBaseDatos.Free;
    end;
end;

Evidentemente, cuando la conexión es remota se genera una excepción y el consiguiente retardo en el tratamiento de la excepción, además del tiempo de conexión.

¿Conocéis alguna forma más eficiente de hacer esto?
Responder Con Cita