Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oSocket = ObjCreate("Chilkat.Socket")

; The Async call simply creates the task.  The "Connect" method has not yet been called.
Local $iMaxWaitMs = 5000
; Let's intentionally cause this connect to fail by giving it an invalid domain..
Local $oTask = $oSocket.ConnectAsync("amazonbladflakjsdflksadjf.com",443,True,$iMaxWaitMs)
If ($oSocket.LastMethodSuccess = False) Then
    ConsoleWrite($oSocket.LastErrorText & @CRLF)
    Exit
EndIf

; Start the background thread to run the task.
$bSuccess = $oTask.Run()
If (Not $bSuccess) Then
    ConsoleWrite($oTask.LastErrorText & @CRLF)

    Exit
EndIf

; 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.
While $oTask.Finished <> True
    ; Sleep 1 ms.
    $oTask.SleepMs 1
Wend

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

    Exit
EndIf

; Get the success/failure of the Connect
; (This is the return value of the Connect method had it been called synchronously)
$bSuccess = $oTask.GetResultBool()
If ($bSuccess = False) 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.
    ConsoleWrite($oTask.ResultErrorText & @CRLF)
Else
    ConsoleWrite("Connect succeeded." & @CRLF)
EndIf