Chilkat v11.3.0 Release Notes

Pinned December 16, 2025

  The main features of this release focus on Chilkat’s Ai class, enabling interactive AI response streaming directly into embedded desktop application browsers. It supports Azure, custom base URLs for OpenAI-compatible providers, and local providers like Ollama. ✨ New Features Ai Real-Time Streaming AI Responses to Embedded Browsers in Desktop Apps — Stream AI responses […]

Chilkat v11.2.0 Release Notes

Pinned November 3, 2025

Previous Version: Chilkat v11.1.0 Release Notes The main addition in v11.2.0 is the Chilkat.Ai class, and the Chilkat.StringBuilder.MarkdownToHtml method. Ai: The Chilkat AI class provides a unified API for interacting with different AI providers: OpenAI, Google, Claude, xAI, Perplexity, and DeepSeek. It provides functionality for conversation management, multimodal inputs, and streaming mode. Markdown to HTML […]

Semantic Versioning Starting with Chilkat 10.0.0

Pinned September 26, 2024

Starting with the v10.0.0 release (end of September 2024), Chilkat moves to standard semantic versioning.   Prior to this release, for various technical reasons, Chilkat was stuck with versions 9.5.0.xx, where only xx changed. For this first leap to semantic versioning, where the major version changes to 10 (from 9), there are no backward incompatible changes.  […]

Perl Date/Time Properties

February 6, 2009 in Uncategorized

Any date/time property in Chilkat’s Perl implementation is returned as a SYSTEMTIME object. Here is sample code that demonstrates getting the ValidTo and ValidFrom property from a digital certificate: $sysTime0 = new chilkat::SYSTEMTIME(); $cert->get_ValidFrom($sysTime0); $sysTime1 = new chilkat::SYSTEMTIME(); $cert->get_ValidTo($sysTime1); print “Valid from ” . $sysTime0->{wMonth} . “/” . $sysTime0->{wDay} . “/” . $sysTime0->{wYear} . ” […]

Asynchronous Sockets

February 3, 2009 in Uncategorized

This blog post is an attempt to explain the concepts of asynchronous socket programming using the Chilkat Socket class/component.   There are five types of socket operations that may occur asynchronously: Socket read. Socket write. Connect to remote hostname:port Accept connection from client DNS lookup A synchronous socket operation is easy to understand.  If you call […]

Encrypting Chinese Characters

January 26, 2009 in Uncategorized

Question: Why is it the return is blank when encrypting chinese characters? Here’s a snippet of my code: crypt.KeyLength := 256; crypt.SecretKey := Password; crypt.CryptAlgorithm := ‘aes’; crypt.EncodingMode := ‘base64’; OutPutStr := crypt.EncryptStringENC(StringToEncrypt); Answer: Strings in some programming languages such as Visual Basic, C#, VB.NET, Delphi, Foxpro, etc. should be thought of as objects.  The […]

ActiveX Events IDL for (some but not all) Chilkat Components

January 7, 2009 in Uncategorized

SFtp: dispinterface _IChilkatSFtpEvents { properties: methods: [id(1), helpstring(“method PercentDone”)] HRESULT PercentDone([in] long pctDone); [id(2), helpstring(“method AbortCheck”)] HRESULT AbortCheck([out] long *abort); [id(3), helpstring(“method UploadRate”)] HRESULT UploadRate([in] long byteCount, [in] long bytesPerSec); [id(4), helpstring(“method DownloadRate”)] HRESULT DownloadRate([in] long byteCount, [in] long bytesPerSec); }; Zip: dispinterface _IChilkatZip2Events { properties: methods: HRESULT UnzipPercentDone([in] long percentDone, [out] long *abort); HRESULT […]

ActiveX Events in FoxPro

January 7, 2009 in Uncategorized

ActiveX components and controls are used in many programming languages, each of which has it’s own way of handling event callbacks.  This blog post provides helpful hints about how to receive event callbacks from an ActiveX component. To receive the event, you must bind the ActiveX (also referred to as the COM server) event to […]

LastErrorText

January 7, 2009 in LastErrorText

The first step in debugging a Chilkat method that returns a failed status is to examine the contents of the LastErrorText property. The LastErrorText property will contain information about the last method call on the object. For example: success = mailman.SendEmail(email); textBox1.Text = mailman.LastErrorText; The LastErrorText property is standard on all Chilkat classes/objects.  The error […]

Client-Side SSL/TLS Authentication

January 5, 2009 in Uncategorized

This blog post is here to clarify a very common misunderstanding. The various Chilkat components that provide SSL/TLS support also provide an option that allows a client-side digital certificate to be used with the secure connection. A certificate identifies you to the server. In 99% of cases you do not need a client certificate. It […]

How to Track Bounced Emails after Sending

January 5, 2009 in Uncategorized

Question: I am using Chilkat MailMan to send email (SMTP) in Visual Basic 6.0. I need to track the details of bounced mails, please let me know how to do this. Answer: (This answer applies not only to VB6, but to all programming languages because the Chilkat API is identical across programming languages.) Before calling […]

UI-less Self-Extracting EXE

December 30, 2008 in Uncategorized

The most common question regarding Chilkat self-extracting EXE’s is: How do I create a silent extractor that runs a “setup” program after extracting? Answer: Here is a sample command line that creates a silent self-extracting EXE: ChilkatZipSE -u unlockCode -a -sm -sp -nowait -r setup.exe -exe a.exe a.zip The “-r” option is used to specify […]

Inflate from Zip to memory in C++

December 26, 2008 in Uncategorized

This example demonstrates how to inflate in-memory from a Zip in C++: CkZip zip; … // Assume we have a CkZip object and a .zip has been loaded. // It may have been loaded from a file by calling OpenZip, or from an // in-memory image of a .zip by calling OpenFromMemory. // (or any […]