Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2021
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Poder: 17
juank1971 Va por buen camino
Obtener resultados dentro de un TTask

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  //no hay conexion
                                         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  // si hay conexion
                                         MuestraAnimacion(false,'Verificando Conexión...');
                                         ShowMessage('ok'); //*********** aqui quisiera obtener algo por parametros
                                        end);

             end ); //TTask.Run


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  // si hay conexion
                                         MuestraAnimacion(false,'Verificando Conexión...');
                                         Resultado:=true;
                                        end);
             end);
no funciona en android



saludos

juank
Responder Con Cita
  #2  
Antiguo 27-07-2021
Punzo Punzo is offline
Miembro
 
Registrado: abr 2006
Posts: 96
Poder: 19
Punzo Va por buen camino
Qué tal?, hay un hilo con el que empecé a intentar lo que quieres, todavía no lo logro, quiero hacer lo mismo con un proyecto, pero igual, me ha dado problemas checa este link:

https://chapmanworld.com/2016/07/14/...ackend-part-8/

En el último código que posteas, al parecer te falta el proceso que va a hacer al mismo tiempo;

Saludos
Responder Con Cita
  #3  
Antiguo 27-07-2021
Punzo Punzo is offline
Miembro
 
Registrado: abr 2006
Posts: 96
Poder: 19
Punzo Va por buen camino
Está lectura también es recomendable:

http://www.malcolmgroves.com/blog/?p=1678
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usando TTask para diferentes eventos Punzo Desarrollo en Delphi para Android 0 14-07-2021 17:30:02
llenar datos en una WEB y obtener resultados oscarac Internet 21 02-09-2019 18:24:35
Como guardar los resultados de un select dentro de un procedimiento strelok Conexión con bases de datos 5 07-10-2017 12:44:24
realizar consulta sin obtener resultados es muy lenta erickperez6 Firebird e Interbase 2 06-03-2013 19:26:41
Obtener resultados de ShellExecute m@kio API de Windows 5 12-08-2005 16:17:09


La franja horaria es GMT +2. Ahora son las 22:11:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi