VBScript
VBScript
Understanding Async Function Return Values
See more Async Examples
Explains how to get the return value of the function called synchonously in the background thread.Chilkat VBScript Downloads
success = 0
' 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 (1/0), get returned value by calling GetResultBool.
' For example..
set sock = CreateObject("Chilkat.Socket")
' --------------------------------------------------------------
' Synchronous call returning 1/0
success = sock.Connect("example.com",443,1,5000)
' --------------------------------------------------------------
' Asynchronous call
' task is a Chilkat.Task
Set task = sock.ConnectAsync("example.com",443,1,5000)
' ...
success = task.Run()
' ...
' ...
' Get the status (1/0) value returned by the synchronous method called in the background thread.
success = task.GetResultBool()
' --------------------------------------------------------------
' Synchronous call returning an integer
count = sock.ReceiveCount()
' --------------------------------------------------------------
' Asynchronous call
' task is a Chilkat.Task
Set 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
s = sock.ReceiveString()
' --------------------------------------------------------------
' Asynchronous call
' task is a Chilkat.Task
Set 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
' connection is a Chilkat.Socket
Set connection = sock.AcceptNextConnection(5000)
' --------------------------------------------------------------
' Asynchronous call
' task is a Chilkat.Task
Set 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).
set acceptedConnection = CreateObject("Chilkat.Socket")
If (task.TaskSuccess = 1) Then
success = acceptedConnection.LoadTaskResult(task)
End If