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
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?