Wrapping a Chilkat Synchronous Method in C# async/await

Chilkat provides its own Async functions, separate from C#’s async/await. For each synchronous Chilkat function that may take time due to network communication or other factors, an Async version is also available, returning a Chilkat Task object (distinct from C#’s Task object). Chilkat’s Async functionality exists in all of the programming languages: C++, PHP, Ruby, Perl, Python, VB6, VBScript, DataFlex, […]

What Replaced Old Chilkat Async Methods?

In the distant past, there were some Chilkat classes that had a few ad-hoc Async methods and properties.  For example, the Ftp2 class contained the methods AsyncPutFileStart, AsyncGetFileStart, AsyncAppendFileStart, and properties such as AsyncFinished, AsyncSuccess, and AsyncLog. A number of years ago, these were replaced with a consistent and standard async model that applies to any Chilkat method in any […]

Q/A 11-Nov-2019 (Thread Safety)

Question: We have a desktop application(client) that can communicate to many devices(servers) at the same time. A different thread pool is used for each device communication, so they do not block each other or the main thread. Because of the issue earlier, I am using the same http object for all communications. Most of the requests are very quick (~ […]

Visual Foxpro IDE crashes when using asynchronous socket methods

Question: When using asynchronous socket methods, VFP crashes. Try running the code from the example under VFP https://www.example-code.com/foxpro/socket_async.asp What else do I need to configure? Answer: The older IDE’s such as VB6 and FoxPro don’t take kindly to background threads.  The solution is to clean up the threads at the end of your program by doing this: loGlobal = CreateObject(‘Chilkat_9_5_0.Global’) […]

Node.js Asynchronous Methods that Return Objects

This post shows the general technique to get the object returned by a method when it is called asynchronously.   For example, consider the Mailman.GetUidls() method.  A synchronous call to GetUidls returns a StringArray object, as shown here: However, the async version of the method, GetUidlsAsync, returns a Task object. The TaskCompleted callback is called when finished. The following code […]

Asynchronous Chilkat Methods in Node.js

Chilkat implements a thread pool for asynchronous tasks in all programming languages except for Node.js. For Node.js, Chilkat tasks run directly on Node’s internal thread pool (i.e. the libuv thread pool). The Task.Run() method can have 0 or 1 arguments. If an argument is passed, it is the “task completed” callback that get called when the task has completed. Here […]

Event Callbacks in Java

Event callbacks in Java (including Android) are supported starting in v9.5.0.52. To receive event callbacks, first create a Java class derived from one of the Chilkat event callback classes. The event callback classes are: CkBaseProgress, CkHttpProgress, CkZipProgress, CkFtp2Progress, CkMailManProgress, CkTarProgress, and CkSFtpProgress. All future Chilkat classes will only use CkBaseProgress. Theses event callback classes will be documented in the “Events” […]