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 […]

.NET Assembly Incorrect Format Error

“Could not load file or assembly ‘ChilkatDotNet2, Version=, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09bd’ or one of its dependencies. An attempt was made to load a program with an incorrect format.” The “incorrect format” error is a 32-bit vs. 64-bit mismatch.  It means the application is trying to load a 64-bit .NET assembly into a 32-bit process,  or the reverse (a 32-bit assembly into […]

SSH/SFTP RemoveFile: “Permission Denied”

If the SFTP server responds to a request to delete a file with the error “Permission Denied”, it means the SSH/SFTP user account does not have permission to delete the file. Here is a sample LastErrorText that shows the path of the remote file to be deleted, and the “Permission Denied” response from the server. ChilkatLog: RemoveFile: DllDate: Jan 19 […]