Chilkat 9.1.0 Release Notes

HTTP:  Fixed problem with setting Content-Type header in HTTP POST to text/namevalue (which is required for POSTs to payflowpro.paypal.com).  The POST body was URL encoded when it shouldn’t have been.  When sending namevalue POSTs to payflowpro, be sure to specify the content-type in the HTTP request object:  requestObject.AddHeader(“content-type”,”text/namevalue”) SSH / SFTP: For AuthenticatePw, if the server’s authentication is keyboard-interactive and […]

SSH SendReqExec — Interactive Commands such as “more”

Commands that assume an interactive user at a shell prompt should not be passed to SendRequestExec.  For example, the “more” command assumes there is a shell and that the user will press RETURN when another screenful of text is wanted.  It would be more appropriate to use the Unix/Linux “cat” command w/ SendRequestExec. To run interactive commands, one should instead […]

SSH SendReqExec — Commands with No Output

When a command is passed to SendReqExec that produces no output, such as “echo 1 > test.txt”, then do not try to read the channel (such as by calling ChannelReadAndPoll) because no data will be forthcoming and the channel read will timeout (as expected). The correct sequence of method calls would be to: Call SendReqExec to execute the command on […]

Register an ActiveX DLL from within FoxPro

A Chilkat customer provided this bit of Foxpro code: DECLARE LONG DllRegisterServer IN <yourfile.dll> IF DllRegisterServer() = 0 * OK ELSE * Not OK ENDIF It provides an alternative way to distribute an ActiveX DLL with a FoxPro application. Typically, one would create an installer, such as a .msi or something from an install software package (InstallShield perhaps), such that […]

SSH/SFTP Disrupted by Untangle Security Appliance

(With permission from a Chilkat customer, for the benefit of others..) Problem: We did some extensive testing and found that our client sees this on their end what the connection fails: SERVER:   13.07.2010  15:21:43  (57220) session ended on error, Buffer missing (error 132). Do you know what that could possibly mean in relation to Chilkat’s SFTP? Solution: “The issue ended […]

FTP Progress Monitoring

This post points to the various examples and blog posts scattered among the chilkatsoft.com, example-code.com, and cknotes.com involving progress monitoring of  FTP uploads and downloads using the Chilkat FTP2 ActiveX, .NET component, and C++ libs. Important for Monitoring Upload Progress: The SendBufferSize property is set to a large value (512K) to maximize performance.  Unfortunately, this usually ruins the frequency of […]

SSH/SFTP Downloading Text file produces strange characters?

Question: I receive strange characters when downloading a text file using ReadFileText. Why does this happen? Answer: Using SSH/SFTP, files are downloaded exactly as-is byte-for-byte except if you call the ReadFileText* methods. The ReadFileText* methods require a charset (i.e. character encoding) to be specified in the method arguments. This allows the method to interpret the bytes according to a specific […]

Verify UnlockComponent Success w/ Purchased Unlock Code

To manually verify that a valid purchased unlock code was passed to UnlockComponent, examine the contents of the LastErrorText after calling UnlockComponent or UnlockBundle. The following message indicating a purchased unlock code was used should be present: “Component successfully unlocked using purchased unlock code.” See below: ChilkatLog:   UnlockBundle:     DllDate: Jul 23 2016     ChilkatVersion: 9.5.0.59     UnlockPrefix: ABCXYZ.CBX0618 […]

LastErrorText Standard Information

All Chilkat classes / components use a property named LastErrorText.  It provides a way to get detailed information about what happened during any Chilkat method call.  The LastErrorText will contain information even when the method call is successful. In almost every case, the LastErrorText will begin with information such as this: ChilkatLog: Decrypt: DllDate: Nov 14 2021 ChilkatVersion: 9.5.0.88 UnlockPrefix: […]

UnlockComponent LastErrorText shows exact string passed to it.

If the string argument passed to UnlockComponent or UnlockBundle is NOT a purchased unlock code, then the LastErrorText will contain the exact string passed to it by your application.  In this case, the string “Hello World” was passed to UnlockBundle. If UnlockComponent returns 0/false, check carefully the exact string being passed to it.  Make sure the exact purchased unlock code […]