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
(PureBasic) Async Methods Returning an StringDemonstrates how to call an asynchronous method that returns a string. This example sends an HTTPS GET request to a URL and gets the HTML response.
IncludeFile "CkTask.pb" IncludeFile "CkHttp.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf task.i = CkHttp::ckQuickGetStrAsync(http,"https://www.chilkatsoft.com/helloWorld.html") If CkHttp::ckLastMethodSuccess(http) = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) ProcedureReturn EndIf ; Start the background task. success.i = CkTask::ckRun(task) If Not success Debug CkTask::ckLastErrorText(task) CkTask::ckDispose(task) CkHttp::ckDispose(http) ProcedureReturn EndIf ; The application is now free to do anything else ; while the email is being sent. ; For this example, we'll simply sleep and periodically ; check to see if the HTTPS GET if finished. While CkTask::ckFinished(task) <> 1 ; Sleep 100 ms. CkTask::ckSleepMs(task,100) Wend ; A finished task could be one that was canceled, aborted, or truly finished. ; If the task was "canceled", it was canceled prior to actually starting. This could ; happen if the task was canceled while waiting in a thread pool queue to be scheduled by Chilkat's ; background thread pool scheduler. ; If the task was "aborted", it indicates that it was canceled while running in a background thread. ; The ResultErrorText will likely indicate that the task was aborted. ; If the task "completed", then it ran to completion, but the actual success/failure of the method ; is determined by the result obtained via a GetResult* method. (A "completed" task will ; have a StatusInt equal to 7. If the task finished, but was not completed, then it must've ; been aborted or canceled: If CkTask::ckStatusInt(task) <> 7 Debug "Task did not complete." Debug "task status: " + CkTask::ckStatus(task) CkTask::ckDispose(task) CkHttp::ckDispose(http) ProcedureReturn EndIf ; The QuickGetStr method returns a string. Therefore, after the task is finished, ; we can get the string result by calling GetResultString. This is the return value had ; we called QuickGetStr synchronously. html.s = CkTask::ckGetResultString(task) Debug html CkTask::ckDispose(task) CkHttp::ckDispose(http) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.