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

VB6 Variant vs Byte Array

In Visual Basic 6.0, a Variant containing a byte array is different than a byte array. For example, examine this code: ‘ Assume mime is a ChilkatMime object… Set mimePart = mime.GetPart(1) thefile = FreeFile() ‘Get the attachment filename FileName = mimePart.FileName ‘Get the attachment Dim mBody As Variant mBody = mimePart.GetBodyBinary If Len(mBody) > 0 Then Open FileName For […]

Read and Write Binary Files in VB6, VBScript, ASP

The Chilkat FileAccess ActiveX is a freeware component that may be used to read and write binary files in VBScript, ASP, VB6, etc. Here are some sample code fragments: VBScript ‘ Download the Chilkat FileAccess ActiveX (freeware) from here: ‘ http://www.chilkatsoft.com/download/FileAccess.zip set fac = CreateObject(“Chilkat.FileAccess”) ‘ Read an entire file as binary data (returns Variant containing byte array) byteData = […]