Unzipping zips with Unicode Filenames

Question: I see your example code includes the ability to create a zip with Unicode filenames. Does your product support unzipping files with unicode filenames, such as Chinese? Answer: Yes, it can unzip files w/ Unicode names — assuming the .zip was correctly created.  Your first test should be to unzip without trying anything differently.  Check to see if the […]

Debugging SshTunnel

The Chilkat SshTunnel object/class (may be “CkSshTunnel” in some programming languages) provides a number of properties to help in debugging (i.e. understanding) what is happening in the background thread: AcceptThreadSessionLogPath:  May be set to the path of a log file that the SshTunnel will create and log activity regarding connections accepted.   This will allow you to see incoming connections that […]

Delphi: how to call ActiveX Functions that return an OleVariant containing a Byte Array

Some Chilkat ActiveX functions return binary data as a Variant containing a byte array.  If the Chilkat function fails, it returns an OleVariant containing an empty byte array. The following code snippet is incorrect and will cause Delphi to raise an EVariantBadIndexError exception if an empty OleVariant is returned. // This is incorrect: mybuffer : array of byte; // … […]

IOS / Mac OS X Link Problems involving symbols such as __ZTVN10__cxxabiv121__vmi_class_type_infoE

If linking produces undefined symbols involving the following: __ZTVN10__cxxabiv121__vmi_class_type_infoE __Znwm __ZdlPv ___gxx_personality_sj0 ___cxa_begin_catch __ZTVN10__cxxabiv120__si_class_type_infoE ___cxa_end_catch __ZdaPv __ZTVN10__cxxabiv117__class_type_infoE etc. It means you’re NOT linking with the C++ runtime libs.  To link with the C++ runtime libs, include an empty source file having a file extension of “.cpp”.   For more information, see the IOS Objective-C linking notes

regsvr32 Error Code 80070005

The error code 80070005 usually means that you do not have enough permission to write to the registry. See this Chilkat blog post ( How to Register an ActiveX DLL using regsvr32 ) for help in running regsvr with administrative privileges.

(IOS) Creating a Chilkat Universal Library

The Chilkat IOS library download provides separate static libs for the device and simulator. The universal lib is not included because (1) it is easy to create from the individual libs, and (2) it reduces the size of the download. To create a single IOS Chilkat universal lib, run the following libtool command from the root of the Chilkat directory […]

Delphi ActiveX Event Handling

ActiveX event callbacks can be used to get progress information for lengthy operations, especially for API calls involving communications with servers, such as FTP, SFTP (SSH), IMAP, POP3, SMTP, HTTP, etc. To use an ActiveX in Delphi, the component must be “imported”. This generates wrapper files (TLB.pas) in the “imports” directory, and may also install icons on the component palettte. […]

IOS Error: Broken pipe … Failed to send ClientHello

The following error can be caused by a firewall blocking the iPAD/iPhone wifi connection: … connect successful (1) clientHelloMajorMinorVersion: 3.1 buildClientHello: majorVersion: 3 minorVersion: 1 numRandomBytes: 32 sessionIdSize: 0 numCipherSuites: 10 numCompressionMethods: 1 socketErrno: 32 socketError: Broken pipe Error sending on socket send_size: 58 Failed to send TLS message. Failed to send ClientHello Client handshake failed. Failed to connect to […]