TaskGetLastError

string TaskGetLastError ( value task,  BYREF string strError = NULL );

Rückgabewert

Rückgabewert

Beschreibung

string

Die Fehlermeldung, die zuletzt am TASK-Objekt task aufgetreten ist.

Parameter

task

Das gültige TASK-Objekt, dessen letzte Fehlermeldung ausgelesen soll.

strError

Die Zielvariable, die mit der letzten Fehlermeldung geladen werden soll.

Bemerkungen

Liefert die Klartextmeldung die beim letzten Fehler im TASK-Objekt task aufgetreten ist. Ist die Zielvariable strError angegeben, so wird diese dorthin kopiert.

Beispiel

//////////////////////////////////////////////////////////////////////
//Globale Variablen
value rest = 0;
value task = 0;
value RestWorker = 0;
value REST_CONNECT_START = 0;
value REST_CONNECT_RUNNING = 10;
value REST_REQUEST_START = 20;
value REST_REQUEST_RUNNING = 30;
value REST_REQUEST_DONE = 40;
value REST_ERROR = -100;
value REST_STANDBY = -1;
string strLastError;
string strResponse;

//////////////////////////////////////////////////////////////////////
//_MainCycle
//
//////////////////////////////////////////////////////////////////////
switch (RestWorker)
    case REST_CONNECT_START:
        //ip.jsontest.com liefert als Antwort die IP-Adresse des anfragenden Clients
        task = RestConnectAsync(rest, "http://ip.jsontest.com");
        if (task == NULL)
            RestWorker = REST_ERROR;
            break;
        end
        RestWorker = REST_CONNECT_RUNNING;
        break;
        
    case REST_CONNECT_RUNNING:
        if (TaskFinished(task))
            if(!TaskSuccessful(task))
                RestWorker = REST_ERROR;
            else
                TaskClose(task);
                RestWorker = REST_REQUEST_START;
            end
        end
        break;

    case REST_REQUEST_START:
        task = RestFullRequestAsync(rest, "GET", "/");
        
        if (task == NULL)
            RestWorker = REST_ERROR;
            break;
        end    
        RestWorker = REST_REQUEST_RUNNING;
        break;
        
    case REST_REQUEST_RUNNING:
        if (TaskFinished(task))
            if(!TaskSuccessful(task))
                RestWorker = REST_ERROR;
                break;
            else
                TaskGetResultString(task, strResponse);
                strResponse = JsonExpand(strResponse);
                //Inhalt von strResponse:
                //{
                //  "ip": "82.165.12.98"
                //}
                RestWorker = REST_REQUEST_DONE;
            end
        end
        break;
        
    case REST_ERROR:
        if (rest != NULL)
            if (task != NULL)
                strLastError = TaskGetLastError(task);
            else
                strLastError = RestGetLastError(rest);
            end
        end
        RestWorker = REST_REQUEST_DONE;
        break;

    case REST_REQUEST_DONE:
        if (task != NULL)
            TaskClose(task);
        end
        RestDisconnect(rest);
        RestWorker = REST_STANDBY;
        break;        
end 

Die TASK-Funktionen

Siehe auch TaskFinished, TaskAborted, TaskCanceled, TaskCompleted, TaskStatus, TaskCancel