TaskClose

value TaskClose ( BYREF value task );

Rückgabewert

Rückgabewert

Beschreibung

TRUE / true / 1

Das übergebene TASK-Objekt wurde erfolgreich geschlossen. Die Zielvariable task wurde auf Null gesetzt.

FALSE / false / 0

Die Zielvariable task enthält kein gültiges TASK-Objekt. Das Schließen wurde abgebrochen.

Parameter

rest

Die Zielvariable, das ein gültiges TASK-Objekt enthält, das geschlossen werden soll.

Bemerkungen

Schließt das gültige TASK-Objekt task. Verweist die Zielvariable task auf ein gültiges TASK-Objekt, so wird das TASK-Objekt geschlossen und die Zielvariable task auf den Wert Null gesetzt.

Beim Beenden eines laufenden Projekts schließt Victory automatisch alle nicht geschlossenen TASK-Objekte.

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 Json-Funktionen

Siehe auch  JsonCreateFromFile, JsonCreateFromString