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
(PowerBuilder) Get the LastErrorText for an Asynchronous Method CallSee more Async ExamplesDemonstrates how to get the LastErrorText information for a Chilkat method called asynchronously.
integer li_rc oleobject loo_Socket integer li_MaxWaitMs oleobject loo_Task integer li_Success // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Socket = create oleobject // Use "Chilkat_9_5_0.Socket" for versions of Chilkat < 10.0.0 li_rc = loo_Socket.ConnectToNewObject("Chilkat.Socket") if li_rc < 0 then destroy loo_Socket MessageBox("Error","Connecting to COM object failed") return end if // The Async call simply creates the task. The "Connect" method has not yet been called. li_MaxWaitMs = 5000 // Let's intentionally cause this connect to fail by giving it an invalid domain.. loo_Task = loo_Socket.ConnectAsync("amazonbladflakjsdflksadjf.com",443,1,li_MaxWaitMs) if loo_Socket.LastMethodSuccess = 0 then Write-Debug loo_Socket.LastErrorText destroy loo_Socket return end if // Start the background thread to run the task. li_Success = loo_Task.Run() if not li_Success then Write-Debug loo_Task.LastErrorText destroy loo_Task destroy loo_Socket return 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 loo_Task.Finished <> 1 // Sleep 1 ms. loo_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 loo_Task.StatusInt <> 7 then Write-Debug "Task did not complete." Write-Debug "task status: " + loo_Task.Status destroy loo_Task destroy loo_Socket return end if // Get the success/failure of the Connect // (This is the return value of the Connect method had it been called synchronously) li_Success = loo_Task.GetResultBool() if li_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. Write-Debug loo_Task.ResultErrorText else Write-Debug "Connect succeeded." end if destroy loo_Task destroy loo_Socket |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.