Sample code for 30+ languages & platforms
VBScript

Get the LastErrorText for an Asynchronous Method Call

See more Async Examples

Demonstrates how to get the LastErrorText information for a Chilkat method called asynchronously.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set socket = CreateObject("Chilkat.Socket")

' The Async call simply creates the task.  The "Connect" method has not yet been called.
maxWaitMs = 5000
' Let's intentionally cause this connect to fail by giving it an invalid domain..
' task is a Chilkat.Task
Set task = socket.ConnectAsync("amazonbladflakjsdflksadjf.com",443,1,maxWaitMs)
If (socket.LastMethodSuccess = 0) Then
    outFile.WriteLine(socket.LastErrorText)
    WScript.Quit
End If

' Start the background thread to run the task.
success = task.Run()
If (Not success) Then
    outFile.WriteLine(task.LastErrorText)

    WScript.Quit
End If

' The application is now free to do anything else

' For this example, we'll simply sleep and periodically
' check to see if the Socket Connect if finished.
Do While task.Finished <> 1
    ' Sleep 1 ms.
    task.SleepMs 1
Loop

' If the task completed, it means the method (in this case the Connect method) was called and returned success or failure.
If (task.StatusInt <> 7) Then
    outFile.WriteLine("Task did not complete.")
    outFile.WriteLine("task status: " & task.Status)

    WScript.Quit
End If

' Get the success/failure of the Connect
' (This is the return value of the Connect method had it been called synchronously)
success = task.GetResultBool()
If (success = 0) Then
    ' Get the LastErrorText for the Connect method call.
    ' Had we called Connect synchronously, we would've simply accessed the socket object's LastErrorText property.
    ' Instead, we get the task object's ResultErrorText.
    outFile.WriteLine(task.ResultErrorText)
Else
    outFile.WriteLine("Connect succeeded.")
End If


outFile.Close