|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (DataFlex) Getting the HTTP Response after an Asynchronous HTTP Request CompletesSome HTTP methods return an HTTP response object. This example demonstrates how to obtain the HTTP response object for such a method when calling asynchronously. 
 Use ChilkatAx-win32.pkg Procedure Test Handle hoChilkatGlob Boolean iSuccess Handle hoHttp Variant vTask Handle hoTask Handle hoResp String sTemp1 Integer iTemp1 Boolean bTemp1 // All Chilkat classes can be unlocked at once at the beginning of a program // by calling UnlockBundle. It requires a Bundle unlock code. Get Create (RefClass(cComChilkatGlobal)) To hoChilkatGlob If (Not(IsComObjectCreated(hoChilkatGlob))) Begin Send CreateComObject of hoChilkatGlob End Get ComUnlockBundle Of hoChilkatGlob "Anything for 30-day trial." To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoChilkatGlob To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Call the async version of the QuickGetObj method to return a task object. // The task object is loaded, but is in the Inert state -- meaning it is // not yet scheduled to run on Chilkat's background thread pool. Get ComQuickGetObjAsync Of hoHttp "https://stackexchange.com" To vTask If (IsComObject(vTask)) Begin Get Create (RefClass(cComChilkatTask)) To hoTask Set pvComObject Of hoTask To vTask End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // Schedule the task for running on the thread pool. This changes the task's state // from Inert to Live. Get ComRun Of hoTask To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoTask To sTemp1 Showln sTemp1 Send Destroy of hoTask Procedure_Return End // The application is now free to do anything else // while the HTML page is being downloaded. // For this example, we'll simply sleep and periodically // check to see if the QuickGetObjAsync if finished. While ((ComFinished(hoTask)) <> True) // Sleep 100 ms. Send ComSleepMs To hoTask 100 Loop // 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: Get ComStatusInt Of hoTask To iTemp1 If (iTemp1 <> 7) Begin Showln "Task did not complete." Get ComStatus Of hoTask To sTemp1 Showln "task status: " sTemp1 Send Destroy of hoTask Procedure_Return End // The synchronous call to QuickGetObj would return an HTTP response object. To get this // response object for the async call, we instantiate a new/empty HTTP response object, // and then load it from the completed task. Get Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get ComLoadTaskResult Of hoResp vTask To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoResp To sTemp1 Showln sTemp1 Send Destroy of hoTask Procedure_Return End Send Destroy of hoTask // Now that we have the response, we can get all of the information: Get ComStatusCode Of hoResp To iTemp1 Showln "status code: " iTemp1 Get ComHeader Of hoResp To sTemp1 Showln "response header: " sTemp1 // .. End_Procedure | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.