Chilkat Socket Thread-Safety

Question: In my Visual FoxPro program, accessing the IsConnected property on a ChilkatSocket hangs when a “ReceiveUntilByteBdAsync” is run immediately after connecting the socket. Here is a minimal reproducible example: LOCAL loSocket loSocket = CreateObject(‘Chilkat_9_5_0.Socket’) loSocket.connect(‘127.0.0.1’, 8945, .f., 5000) &&used external socket server to be sure it was unrelated loBinData = CreateObject(‘Chilkat_9_5_0.BinData’) loTask = loSocket.ReceiveUntilByteBdAsync(ASC(‘Z’), loBinData) ?loSocket.IsConnected &&works loTask.run() ?loSocket.IsConnected […]

SMTP Timeout Sending Large Email

Question: While trying to send an email with an attachment of size 9MB from my application, I get an error.  Interestingly, the file gets delivered to the email address still we get the error in the application. Answer: Looking at the MailMan.LastErrorText for the call to SendEmail, we can see this: ChilkatLog: SendEmail: … ReadTimeout: 30000 … … sendCmdToSmtp: SmtpCmdSent: […]

OAuth2 in a DataFlex Web Application

Question: I have seen that your lib support OAuth2 for DataFlex-Framework but only for Desktop-Clients.  Is it correct or is there any support for DataFlex-Web-Applications? Answer: The functionality Chilkat provides in desktop applications for the OAuth2 authorization code flow, is to make your desktop application behave as a temporary web server to receive the single local HTTP redirect request from […]

OAuth2 Client Credentials – Azure App Registration

This post shows how to register an Azure Application that supports OAuth2 Client Credentials. 1. Register an Application You’ll most likely choose a single-tenant application.  (See explanation of Azure single-tenant vs multi-tenant applications.) You can leave the Redirect URI blank. 2. Note your Application (client) ID and Directory (tenant) ID Make note of your client ID and tenant ID.  It […]

Azure Single-Tenant vs Multi-Tenant Applications

The distinction between single-tenant and multi-tenant Azure applications lies in how these applications handle user access and authentication across different Azure AD tenants (directories). Single-Tenant Azure Application: A single-tenant application is designed to serve users from a single Azure AD tenant (directory). It is registered in and can authenticate users only from that specific Azure AD tenant.  It is used […]

OAuth2 Client Credentials – for when YOUR application is accessing resources in YOUR account (not somebody else’s)

OAuth2 Client Credentials can be used for authentication when you own the application, and you also own the account (such as Office 365, or Google, etc.) that your application will access. In other words, YOUR application is simply accessing resources in YOUR account, and YOU are the application user (or your application is running as a service or background process). […]

Chilkat v9.5.0.96 Release Notes

Previous Version: https://cknotes.com/chilkat-v9-5-0-95-release-notes/ Next Version: https://cknotes.com/chilkat-v9-5-0-97-release-notes/ Chilkat v9.5.0.96 Release Notes DNS: Created a new Dns class for managing DNS nameservers to be used by Chilkat, and for doing DNS queries. It is a singleton class that allows an application to select the DNS nameservers used throughout Chilkat. The term “singleton” means that all Chilkat DNS object instances work with a […]

Electron 25 “Hello World” Application using Chilkat

Demonstrate the simplest possible Electron program using Chilkat on Windows.  (using Electron 25, which requires Node.js 18.17) 1. Open a GitBash shell to get a command prompt. 2. Make sure you have node 18.17 $ node -v v18.17.0 3. Create a new directory for a new application. $ cd /c/temp $ mkdir helloWorld $ cd helloWorld 4. npm init $ […]

Solved: XML does not comply with UBL 2.1 standards in line with ZATCA specifications

A Chilkat customer is getting this error when trying to validate the signed invoice on the ZATCA XML online validator (Sandbox) category : XSD_SCHEMA_ERROR code :SAXParseException message : Schema validation failed; XML does not comply with UBL 2.1 standards in line with ZATCA specifications The solution is to examine the XML using the UBL 2.1 validation tool at https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/ubl-21-e-invoice-validation-service/about and […]