RMaxiCodeX ActiveX

Copyright J4L (http://www.java4less.com) 2006.


RMaxiCodeX is an ActiveX control developed using Visual Basic 6.0 and will allow you to create 2 dimensional Maxicode barcodes for your windows applications.

Maxicode is a two-dimensional (2D) and fixed-size matrix symbology which is made up of offset rows of hexagonal modules arranged around a unique finder pattern. The size of Maxicode is 1.11 x 1.054 inches and it can contain up to 93 data characters of information (a total of 144 including error correction codewords).

The symbol was created by United Parcel Service for fast scanning and sorting of packages.RMaxicode supports the following features:


Symbol structure

MaxiCode symbols are divided into a primary and a secondary message, each of which contains data and error correction codewords. The primary message is made of 10 codewords and 10 error correction codewords. The primary message is used in mode 2 and 3 to encode the Postal Code, the Service class and the country.

Error correction

MaxiCode symbols have error correction codewords, based on Reed-Solomon error correction algorithms, which can be used to detect errors and correct erroneous symbols. There are two error levels; standard and enhanced (mode 5).

Maxicode modes

Modes 2 and 3 are designed for use in the transport industry. They encode the destination address and the class of service as defined by the carrier. Mode 2 uses a 9 digit numeric postal code and mode 3 uses a 6 character alphanumeric postal code. The Service class and the country are both a 3 digit number in both modes.

Mode 4 can encode up to 93 characters or 138 digits. Mode 5 can only encode up to 77 characters but it provides more error correction capabilities (enhanced mode than mode 4.

Mode 6 indicates that the symbol encodes a message used to program the reader system (scanner).

Structured append

Up to eight MaxiCode symbols may be appended in a structured format. This allows files of data to be represented in up to 8 MaxiCode symbols.




After unzipping the file you have received or downloaded, the activeX needs to be registered in your windows environment by executing the install.bat file. On windows 7 you must right click the bat file and run it as administrator.

If you want to deinstall the OCX you can do it by means of uninstall.bat.

Boths programs just run the regsvr32.exe windows tool in order to register and unregister OCX's.

The ActiveX has been developed using Visual Basic 6.0. For this reason it needs the following files:

  1. the OCX needs the file Msvbvm60.dll. Make sure the file is available at your PC.
  2. If you use the OCX in other development environment different from Visual Basic, you will also need the file Msstkprp.dll.
Let us know if you need any of these files.


The product contains the following examples:

Visual Basic

In the "Examples" subdirectory you will find a visual basic 6.0 project you can use to test the ActiveX. The project is already compiled, you can execute it by means of MaxicodeExample.exe.


Use with MSAccess

The ActiveX can be inserted into your MSAccess forms and reports. If want to retrieve a value from the database before you create the barcode you can do it this way:

  1. Place an invisitble text box in the detail band where the barcode resides, and set its Control Source to the approiate field in the database.
  2. In the detail_format event of the report (or form), place the following code: me!NameOfBarCodeControl.CODE=me!MyControlsName


Use with ASP

The ActiveX can also be used in your web applications when you use ASP. The following code shows how this can be done:


set bc=server.CreateObject("J4LMaxicode.RMaxicodeX")

bc.Data = "AAA"
bc.Mode =2 ' values 2 to 6
bc.Resolution = 200
bc.ServiceClass = "999"
bc.ZipCode = "B1050"
bc.Country = "056"
bc.ProcessTilde = True
bc.NumberOfCodes = 1
bc.PositionOfCode = 1

bc.setSize 3000,3000

set bc=nothing

<img src="barcode.bmp">

this script uses RMaxicodeX in order to create a bmp image that can be display in the browser. If you want to use another format (not BMP) you can use external tools for the conversion. The following example uses the JanGraphics freeware library to convert the bmp to a png file:


set bc=server.CreateObject("J4LMaxicode.RMaxicodeX")
...... ' like previous example
set bc=nothing

set conv=createobject("janGraphics.Compendium")
conv.convert "c:\inetpub\wwwroot\barcode.bmp","c:\inetpub\wwwroot\barcode.png"
set conv=nothing

Warnning: In some environments you can get the following error:

Microsoft VBScript runtime (0x800A01FB)
An exception occurred: saveToBMP()

this error is produced by a Bug in the file MSVBVM60.dll. We advise you to use version 6.00.0092.0037 , if you cannot get it, contact us and we will send you the correct version.


Properties and methods

The activeX has following properties and methods: