Histórico da Página
...
Bloco de código |
---|
LET m_thread_reference = _ADVPL_create_component(NULL,"LTHREAD") |
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
DATABASE logix GLOBALS DEFINE p_user LIKE usuarios.cod_usuario DEFINE p_cod_empresa LIKE empresa.cod_empresa END GLOBALS #------------------------------------------------------------------------------# FUNCTION LTHREAD_test() #------------------------------------------------------------------------------# DEFINE l_thread_reference VARCHAR(10) DEFINE l_status SMALLINT DEFINE l_is_alive SMALLINT DEFINE l_message CHAR(200) IF LOG_initApp("PADRAO") <> 0 THEN RETURN END IF # Cria o componente para requisições REST. LET l_thread_reference = _ADVPL_create_component(NULL,"LTHREAD") # Define a função que será executada numa nova THREAD. CALL _ADVPL_set_property(l_thread_reference,"FUNCTION","LTHREAD_testFunction") # Adiciona os parâmetros que serão enviados para a função. CALL _ADVPL_set_property(l_thread_reference,"CLEAR_PARAMETERS") CALL _ADVPL_set_property(l_thread_reference,"ADD_PARAMETER",p_user CLIPPED) CALL _ADVPL_set_property(l_thread_reference,"ADD_PARAMETER",p_cod_empresa CLIPPED) # Inicia a execução da função em uma nova THREAD. LET l_status = _ADVPL_get_property(l_thread_reference,"START") IF l_status THEN # Verifica se a THREAD está em execução. LET l_is_alive = _ADVPL_get_property(l_thread_reference,"IS_ALIVE") IF l_is_alive THEN CALL log0030_mensagem("Is Alive? Sim!","info") ELSE CALL log0030_mensagem("Is Alive? Não!","excl") END IF # Aguarda até o término da THREAD. CALL _ADVPL_get_property(l_thread_reference,"JOIN") CALL log0030_mensagem("THREAD finalizada","info") ELSE # Recupera a mensagem de erro. LET l_message = _ADVPL_get_property(l_thread_reference,"ERROR_MESSAGE") CALL log0030_mensagem(l_message,"stop") END IF # Ao finalizar o uso, libera o componente da memória. CALL _ADVPL_destroy_component(l_thread_reference) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LTHREAD_testFunction(l_cod_usuario,l_cod_empresa) #------------------------------------------------------------------------------# DEFINE l_val_env CHAR(50) DEFINE l_cod_usuario CHAR(08) DEFINE l_cod_empresa CHAR(02) IF LOG_initApp("PADRAO") = 0 THEN LET l_val_env = LOG_getEnv("IPLOCAL_LGX") CALL CONOUT("IPLOCAL_LGX: "||l_val_env CLIPPED) LET l_val_env = LOG_getEnv("LTHREAD_CMP") CALL CONOUT("LTHREAD_CMP: "||l_val_env CLIPPED) CALL CONOUT("USUARIO....: "||l_cod_usuario CLIPPED) CALL CONOUT("EMPRESA....: "||l_cod_empresa CLIPPED) # Aguarda 5 segundos para que o teste do IS_ALIVE funcione. SLEEP 5 END IF END FUNCTION |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas