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