![]() |
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
(Xojo Plugin) Understanding Async Function Return ValuesSee more Async ExamplesExplains how to get the return value of the function called synchonously in the background thread.
// Some Chilkat functions can be called asynchronously. // If a function "Func" can be called asynchronously, there will be a corresponding "FuncAsync" function that returns a Task object. // // When Task.Run is called, the synchronous "Func" runs in a background thread. // // For Chilkat methods that return a status (True/False), get returned value by calling GetResultBool. // For example.. Dim sock As New Chilkat.Socket // -------------------------------------------------------------- // Synchronous call returning True/False Dim success As Boolean success = sock.Connect("example.com",443,True,5000) // -------------------------------------------------------------- // Asynchronous call Dim task As Chilkat.Task task = sock.ConnectAsync("example.com",443,True,5000) // ... success = task.Run() // ... // ... // Get the status (True/False) value returned by the synchronous method called in the background thread. success = task.GetResultBool() // -------------------------------------------------------------- // Synchronous call returning an integer Dim count As Int32 count = sock.ReceiveCount() // -------------------------------------------------------------- // Asynchronous call task = sock.ReceiveCountAsync() // ... success = task.Run() // ... // ... // Get the integer value returned by the synchronous method called in the background thread. count = task.GetResultInt() // -------------------------------------------------------------- // Synchronous call returning an string Dim s As String s = sock.ReceiveString() // -------------------------------------------------------------- // Asynchronous call task = sock.ReceiveStringAsync() // ... success = task.Run() // ... // ... // Get the string value returned by the synchronous method called in the background thread. s = task.GetResultString() // -------------------------------------------------------------- // Synchronous call returning an object Dim connection As Chilkat.Socket connection = sock.AcceptNextConnection(5000) // -------------------------------------------------------------- // Asynchronous call task = sock.AcceptNextConnectionAsync() // ... success = task.Run() // ... // ... // Get the object returned by the synchronous method called in the background thread. // We do this a little differently. We create an new object of the same type, // and then load it with the returned object (assuming it was not null). Dim acceptedConnection As New Chilkat.Socket If (task.TaskSuccess = True) Then success = acceptedConnection.LoadTaskResult(task) End If |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.