TLPP - LANGUAGE
- SetTimeout(nSeconds)
- objetivo: alterar o valor corrente de timeout (tempo de espera). Veja DynCall - Configuração de timeout.
- nSeconds: quantos segundos no máximo esperar pela resposta de um CallFunction ou CallMethod.
- retorno: lógico
- .T. execução com sucesso
- .F. execução com erro
Esse exemplo tem o objetivo de forçar um estouro de tempo de espera. A função timeout da DLL vai gastar mais tempo do que a aplicação TLPP decide esperar.
Certamente, o teste vai gerar exceção e a sua thread será finalizada, porém de forma graciosa.
Exemplo: lado da biblioteca #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define EXPORT __declspec(dllexport)
EXPORT void timeout()
{
printf("\nComecei\n");
// 80 segundos
Sleep(80000);
printf("\nTerminei\n");
}
| Exemplo: lado TLPP #include "tlpp-core.th"
Function U_DynCall()
Local oDll as Object
Local nValue as Numeric
If (IsSrvUnix())
oDll := tRunDll():New("./dllc.so")
Else
oDll := tRunDll():New("dllc.dll")
EndIf
oDll:SetTimeout(10) // só espero 10 segundos
oDll:callFunction("timeout", "V", nil)
Conout("Ufa! Consegui esperar")
// Vamos Sanitizar?
oDll:Free()
Return
|
Import HTML Content
Visão Geral
Conteúdo das Ferramentas