Morovia Barcode DLL 3.8: Release Notes

July 12, 2011

Revision History
Revision 3.8.0July 12, 2011
Release Notes for Barcode DLL 3.8.0
Revision 3.7.0January 29, 2010
Release Notes for Barcode DLL 3.7.0
Revision 3.6.4April 27, 2009
Release Notes for Barcode DLL 3.6.4
Revision 3.6.2February 17, 2009
Release Notes for Barcode DLL 3.6.2
Revision 3.4.0January 2, 2009
Release Notes for Barcode DLL 3.4.0
Revision 3.3.4July 30, 2008
Release Notes for Barcode DLL 3.3.4
Revision 3.3October 30, 2006
Release Notes for Barcode DLL 3.3.0
Revision 3.2June 2006
Release Notes for Barcode DLL 3.2

Table of Contents

1. Introduction
2. What's New?
3. Installation and Upgrade Notes
3.1. Installation
3.2. Manifest
3.3. Minimum System Requirements
3.4. Version Compatibility
4. Recent Changes in version 3.7, 3.8
5. Changes in previous releases
5.1. Version 3.6.x
5.2. Version 3.4.0
5.3. Version 3.3.4
5.4. Version 3.3.0
5.5. Version 3.2
6. Known Problems and Workarounds

1. Introduction

This document is the release notes for Morovia Barcode DLL version 3.7. The following sections describe the release in detail and provide late-breaking or other information that supplements the main documentation. The version 3.7.0 is a maintenance release with one bug fix.

Barcode DLL shares the source code base with Barcode ActiveX product line. It keeps all functionalities of Barcode ActiveX while eliminating registry dependencies. This eliminates possible conflicts resulting from different versions of Barcode ActiveX components installed on the same computer.

To further reduce the conflicts, install the DLL into your own program folder instead of Windows system folder.

2. What's New?

Version 3.8.0 fixes bug 737, an encoding defect on DataMatrix.

Version 3.7.0 fixes bug 664, an encoding defect on DataMatrix.

3. Installation and Upgrade Notes

3.1. Installation

The Barcode DLL is designed to be used to develop custom barcode printing applications. It does not come with an installer. Simply copy all the files into your hard disk. To learn how to integrate the DLL with your VC++ or Classic VB programs, navigate to the samples folder. The barcode object includes several dozen properties and methods. To find out how they fit your program, see reference manual for details.

3.2. Manifest

This release consists of the following items:

  • Release notes (this file)

  • Core component MrvBarDLL.dll

  • Import Library for Barcode DLL, MrvBarDLL.lib (for Visual C++ 6 and 7)

  • Barcode DLL Reference Manual

  • Visual Basic Module File MrvBarDll.bas

  • Samples - 1 for classic VB, 1 for MFC/C++ and 1 for .Net (written in C#)

  • License agreement

3.3. Minimum System Requirements

  • 800 MHz Pentium processor

  • 256 MB Memory

  • 10MB Free disk space

  • Windows 2000, Windows XP or above

3.4. Version Compatibility

Application developed based on previous versions of the software is able to run with the new software without any modifications.

4. Recent Changes in version 3.7, 3.8

Both 3.8 and 3.7 are maintenance release - there was no feature added to the release. The release 3.8 addresses bug 737 and release 3.7 addresses bug 664 discovered after the last release:

  1. Bug 664 - DataMatrix encoding: EDIFACT terminated input may not be correctly encoded in some ocassions. For example PTHEXSWITCH/R is decoded as PTHEXSWITCH/H.

  2. Bug 737 - EDIFACT terminated input may not be correctly encoded in some occasions. When encoding the following three pieces of data under default settings (SizeID is auto), extra character { appears at the end when decoded. Samples: LMR-400-LLPL and RJFTVC6G.

5. Changes in previous releases

5.1. Version 3.6.x

Version 3.6.4 fixed a bug that could produce incorrect 10x10 data matrix barcodes.

Version 3.6.2 fixed a bug that crashes the program when Symbology is DataBar Expanded and one of GS1-128 field exceeds 40 characters.

Version 3.6.0 fixed a bug that creates invalid DataBar Expanded Stacked barcodes. It also solved a potential security vulnerability. See below for the more information on the two issues.

  1. Bug 585 - incorect module placement for 10x10 matrix barcodes. Many scanners are able to pick this incorrect barcode, but some are not. Applicable on Barcode ActiveX Professional.

  2. Bug 561 - Program crashes when encoding DataBar Expanded symbols and input field exceeds 40 characters. Fixed in 3.6.2.

  3. Bug 564 - incorrect handling excessive data on variable-length GS1-128 fields. For example, AI 8110 allows max 70 digits. If the input is 71 digits, the previous code mistakenly removes the first 70 digits from the input. Fixed in version 3.6.2.

  4. Bug 551 - Incorrect DataBar Expanded and DataBar Expanded Stacked barcodes were produced on certain types of data. This bug happens on some long data, for example, (01)98898765432106(3202)012345(15)991231.

  5. Bug 552 - Method Save and ExportImage is able to overwrite arbitrary files in the system. Exploiting this issue allows an attacker to overwrite arbitrary files on an affected computer. The new implement makes sure that exiting files marked with read-only, system or hidden attributes, or with an extension not in the list will never be overwritten.

5.2. Version 3.4.0

Support for GS1 DataBar family (DataBar, DataBar Truncated, DataBar Limited, DataBar Stacked, DataBar Stacked Omnidirectional, DataBar Expanded and DataBar Expanded Stacked) is added in this release. Note that DataBar Expanded and DataBar Expanded Stacked are available only in the professional version.

There are some changes in the new release either making the product more standard comformant, or removing ambiguity by deprecating certain properties. Changes include:

  1. UCC/EAN-128 (also referred as GS1-128). The AI table is modified up to date as of Jan. 1, 2009. The validation code was also updated to reflect the change.

  2. Previously, in order to make the human readable text conformant to HIBC standard, property ShowcheckDigit must be set to TRUE. This behavior was changed in 3.4. The check digit will always appear in the human readable line.

  3. Property I2of5OptionalCheckDigit is deprecated because it confuses customers. Previously, a check digit is appended only when this property is set to TRUE. However, Interleaved 2 of 5 requires that the input length to be even. In 3.4, a check digit is appended when the input has an odd length. The check digit will also appear in the human readable line regardless the value of ShowCheckDigit.

Bug fixes included in this release:

  1. Bug 524 - Incorrect PDF417 barcodes were created when encoding requires mode shift 913 (from Text mode to binary). A sample data is like [)>~d03006~d029JKUSMAW0DA10$PSZPKK0XX~d029IV739GXL1794AB12PZ~d0299KAEUT~d0292LGOOSE.

  2. Bug 528 - Print and Print Preview in Microsoft Access do not work for 2D barcodes. Some portions of barcodes are truncated. Fixed in 3.4.0.

  3. Bug 340 - LabelHeight and LabelWidth still report as English units even when Measurement is set to mbxMeasurementMetrics. Fixed in 3.4.0.

  4. Bug 331 - check digit is not included in the human readable text in UCC/EAN-128. When UccEanOptionalCheckDigit is set to TRUE, the check digit is calculated by the program automatically. However, the check digit did not enter the human readable text. Fixed in 3.4.0.

  5. Bug 528 - HIBC requires check digit appear in the human readable text line. Currently property ShowcheckDigit must set to TRUE to achieve this behavior. Fixed in 3.4.0.

5.3. Version 3.3.4

  1. Bug 503 - UCC/EAN-128, When AI is 02 and the data entered is numeric, the program reports an error. Fixed in version 3.3.4.

  2. Bug 423 - UCC/EAN-128, the program thinks that AI 37 requires 9-digit fixed-length data, and reports an error for any data with a different length. Fixed in version 3.3.4.

  3. Bug 448 - When Symbology property is assigned to an identical value, message property is reset to the default. It is by design to have message reset to default when changing the current barcode type. However, it should change the message property when Symbology is accidentally set to the same value. Fixed in 3.3.4.

5.4. Version 3.3.0

Version 3.3.0 is a major upgrade from earlier versions. It added .Net examples, and fixed several bugs and adopted a new publishing system that is capable of producing manuals in web and print.

  1. Bug 147 - Changing typeface of Font or CommentFont produces no effects on the results. Fixed in version 3.2.1.

  2. Bug 156 - Human readable disappears when Rotation is set to mbxRTAntiClockwise_270 and TexAlignment is mbxAlignRight. Fixed in version 3.2.1.

  3. Bug 162 - An error is reported from ExportImage method when exporting BMP images from the barcode object to an IStream interface. This issue does not appear when the barcode image is exported to other formats, or exported to a disk file. Fixed in version 3.2.1.

  4. Bug 226 - POSTNET encoder creates barcodes as is when data with an invalid length is specified. By USPS standard, a valid POSTNET barcode encodes either 5, 11 or 13 digits of a zip code. However, in version 3.2 it is possible to encode a 10-digit number without any error reported. Fixed in version 3.3.0.

  5. Bug 236 - Invalid data matrix was created under certain circumstances. An example is 4445601261263220QC0003900*GALBEL008*60/316*AQ8500017*. Fixed in version 3.3.0.

  6. Bug 259 - Incorrect human readable appears on 2-digit UPC/EAN extension barcode. The barcode is correct, however the human readable text always displays as 00 in the extension barcode.

  7. Bug 269 - Data typos in the reference manual. In the table Size of a pixel, chapter Working with low-resolution devices, the pixel size in mm under 240 dpi should be 0.106, instead of 0.160 in the manual.

  8. Bug 278 - Random barcodes appear when generating bulk barcodes in a memory-intensive environment. The issue was found in a .Net application which prints multiple barcodes at a time. This error was caused by a memory assignment bug. Fixed in version 3.3.0.

  9. Bug 280 - Memory leak was detected after barcode object was destroyed. This issue applies to Barcode DLL only. The type library associated with the object failed to release its memory after the object had been destroyed. Fixed in version 3.3.

  10. Bug 285 - Barcode appeared small when a barcode object with Measurement set to mbxMeasurementMetrics is saved to a file and loaded back. The loading process reduced all lengths in this scenario. Fixed in version 3.3.

  11. Bug 296 - when Measurement is mbxMeasurementMetrics, setting AutoLabelSize creates a label area of 2 cm by 2 cm, not 2" by 2" as indicated in the reference manual. Fixed in version 3.3.0.

5.5. Version 3.2

Version 3.2 is the first release of Barcode DLL.

6. Known Problems and Workarounds

There were no known problems and workaround discovered at this stage.