saludos :
Uff no se come preguntar esto.
estoy en firemonkey verificando si hay conexion a internet con este codigo
Código Delphi
[-]
function TDM.ChequearConexion: boolean;
var
http:THTTPCLient;
begin
result := false;
try
http:=THTTPCLient.Create;
try
result := http.Head('https://google.com').StatusCode < 400;
except
end;
finally
http.DisposeOf;
end;
end;
Esta Función anterior devuelve true si hay conexion, ahora quiero llamar una animacion mientras se chequea y destruirla luego de terminar con este codigo
Código Delphi
[-]
TTask.Run( procedure
begin
TThread.Synchronize(nil, procedure
begin
MuestraAnimacion(true,'Verificando Conexión...');
application.ProcessMessages;
end);
if not DM.ChequearConexion then
begin
TThread.Synchronize(nil, procedure
begin MuestraAnimacion(false,'Verificando Conexión...');
DM.DDCDialog.Run(LayoutMain , 'Error de Conexión', 'No esta conectado a internet',
'', 'Aceptar','sinconexion');
end)
end
else
TThread.Synchronize(nil, procedure
begin MuestraAnimacion(false,'Verificando Conexión...');
ShowMessage('ok'); end);
end );
en este procedimiento trato de hacerlo con TTask pero no ejecutar codigo en ese lugar lo que quisiera es obtener
ese resultado para luego hacer otras cosas sabiendo que hay conexion;
Creo que la forma de preguntar mi duda es, como puedo dentro de un TTask.()
saber si algo me devuelve un resultado y usarlo luego
O sea donde dice ShowMessage('ok'); //***********
quisiera obtener algo en variable o algo y saber fuera del ttask que si hay conexion
En resumen quisiera ejecutar en una apk android con firemonkey
con la mayor cantidad posible de TTask para evitar bloqueos lo siguiente:
1- mostrar animacion (Chequear Conexion)
2- Saber si hay conexion
3- ocultar animacion
4- Si hay conexion mostrar animacion (Obteniendo datos del rest)
5- Ejecutar 1ra llamada al rest
6-ocultar animacion
no se si loge explicarme jj
lo digo porque por ejemplo he tratado en android de hacer esto
Código Delphi
[-]
var Resultado := false;
TTask.Run( procedure
begin
TThread.Synchronize(nil, procedure
begin MuestraAnimacion(false,'Verificando Conexión...');
Resultado:=true;
end);
end);
no funciona en android
saludos
juank