Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) Get the LastErrorText for an Asynchronous Method CallSee more Async ExamplesDemonstrates how to get the LastErrorText information for a Chilkat method called asynchronously.
LOCAL loSocket LOCAL lnMaxWaitMs LOCAL loTask LOCAL lnSuccess * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Socket') loSocket = CreateObject('Chilkat.Socket') * The Async call simply creates the task. The "Connect" method has not yet been called. lnMaxWaitMs = 5000 * Let's intentionally cause this connect to fail by giving it an invalid domain.. loTask = loSocket.ConnectAsync("amazonbladflakjsdflksadjf.com",443,1,lnMaxWaitMs) IF (loSocket.LastMethodSuccess = 0) THEN ? loSocket.LastErrorText RELEASE loSocket CANCEL ENDIF * Start the background thread to run the task. lnSuccess = loTask.Run() IF (NOT lnSuccess) THEN ? loTask.LastErrorText RELEASE loTask RELEASE loSocket CANCEL 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. DO WHILE loTask.Finished <> 1 * Sleep 1 ms. loTask.SleepMs(1) ENDDO * If the task completed, it means the method (in this case the Connect method) was called and returned success or failure. IF (loTask.StatusInt <> 7) THEN ? "Task did not complete." ? "task status: " + loTask.Status RELEASE loTask RELEASE loSocket CANCEL ENDIF * Get the success/failure of the Connect * (This is the return value of the Connect method had it been called synchronously) lnSuccess = loTask.GetResultBool() IF (lnSuccess = 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. ? loTask.ResultErrorText ELSE ? "Connect succeeded." ENDIF RELEASE loTask RELEASE loSocket |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.